@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--soft-white);box-shadow:var(--shadow-soft)}.top-bar{background:var(--deep-forest);color:var(--soft-white);padding:.5rem 0;font-size:.875rem}.top-bar *{color:var(--soft-white)!important}.top-bar-content{display:flex;justify-content:space-between;align-items:center}.contact-info{display:flex;gap:2rem}.top-bar .contact-info{display:flex;flex-direction:row;gap:2rem}.top-bar .contact-item,.contact-item{display:flex;align-items:center;gap:.5rem}.top-bar-actions{display:flex;gap:1rem}.top-link{color:var(--soft-white);text-decoration:none;transition:color .3s ease}.top-link:hover{color:var(--accent-gold)}.main-nav{padding:1rem 0}.nav-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{transition:transform .3s ease,opacity .3s ease}.logo:hover{transform:scale(1.05);opacity:.9}.logo-image{height:80px;width:auto;max-width:200px;object-fit:contain;transition:transform .3s ease}.nav-menu{display:flex;align-items:center;gap:2rem}.nav-link{color:var(--charcoal);text-decoration:none;font-weight:500;transition:color .3s ease;background:none;border:none;cursor:pointer;font-size:inherit;font-family:inherit}.nav-link:hover{color:var(--primary-green)}.nav-cta{margin-left:1rem}.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--charcoal)}.hero-section{position:relative;min-height:calc(100vh + 120px);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--soft-white);overflow:hidden;padding-top:120px}.hero-background{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-bg-image{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1.5s ease-in-out}.hero-bg-image.active{opacity:1}.hero-overlay{position:absolute;inset:0;background:#fff3;z-index:-1}.hero-content{max-width:800px;margin:0 auto;padding:0 1rem}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#2d5016e6;border:1px solid var(--deep-forest);color:var(--soft-white);padding:.5rem 1rem;border-radius:50px;margin-bottom:2rem;font-size:.875rem;font-weight:500}.hero-title{margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.hero-description{font-size:1.25rem;margin-bottom:3rem;opacity:.9;line-height:1.6}.hero-stats{display:flex;justify-content:center;gap:3rem;margin-bottom:3rem}.hero-stats .stat-number{font-size:2rem;font-weight:700;color:var(--accent-gold)!important;margin-bottom:.5rem}.hero-stats .stat-label{font-size:.875rem;color:var(--accent-gold)!important;opacity:.9}.hero-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-large{padding:1.25rem 2.5rem;font-size:1.1rem;gap:.5rem}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.875rem;opacity:.7}.scroll-arrow{width:2px;height:30px;background:var(--accent-gold);position:relative;animation:scroll 2s infinite}.scroll-arrow:after{content:"";position:absolute;bottom:0;left:-3px;width:8px;height:8px;border-right:2px solid var(--accent-gold);border-bottom:2px solid var(--accent-gold);transform:rotate(45deg)}@keyframes scroll{0%,20%{transform:translateY(0);opacity:1}to{transform:translateY(10px);opacity:0}}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.section-header{margin-bottom:3rem}.section-header h2{color:var(--accent-gold)!important;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-subtitle{font-size:1.2rem;color:var(--soft-white)!important;margin-bottom:0}.about-features{display:grid;gap:2rem}.feature{display:flex;gap:1rem;align-items:flex-start}.feature-icon{flex-shrink:0;width:60px;height:60px;background:var(--primary-green);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--accent-gold)}.feature-content h3{margin-bottom:.5rem;font-size:1.25rem}.feature-content p{margin:0;color:var(--charcoal);opacity:.8}.about-image{position:relative}.image-placeholder{height:400px;background:linear-gradient(135deg,var(--primary-green),var(--secondary-green));border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.image-container{position:relative;height:400px;border-radius:16px;overflow:hidden}.about-lake-image{width:100%;height:100%;object-fit:cover;object-position:center}.image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);color:var(--soft-white);padding:2rem;text-align:center}.image-overlay h3{margin-bottom:.5rem;color:var(--soft-white)}.image-overlay p{margin:0;opacity:.9}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.amenity-card{background:var(--soft-white);padding:2rem;border-radius:16px;text-align:center;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease}.amenity-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.amenity-icon{width:80px;height:80px;background:var(--accent-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--charcoal)}.amenity-card h3{margin-bottom:1rem;color:var(--primary-green)}.amenity-card p{margin:0;color:var(--charcoal);opacity:.8}.lot-card{background:var(--soft-white);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease}.lot-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.lot-image{position:relative;height:200px;background:var(--light-gray);display:flex;align-items:center;justify-content:center}.image-placeholder{color:var(--secondary-green)}.lot-badge{position:absolute;top:1rem;right:1rem;background:var(--accent-gold);color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.lot-price{font-size:1.5rem;font-weight:700;color:var(--primary-green)}.lot-size{display:flex;align-items:center;gap:.5rem;color:var(--secondary-green);font-weight:500}.feature-tag{background:var(--light-gray);color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.lot-actions .btn{flex:1;padding:.75rem 1rem;font-size:.875rem}.lots-cta{background:var(--warm-cream);padding:2rem;border-radius:16px;margin-top:2rem}.cta-text{font-size:1.1rem;margin-bottom:1.5rem;color:var(--charcoal)}.cta-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.testimonial-card{background:#ffffff1a;padding:2rem;border-radius:16px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.testimonial-quote{color:var(--accent-gold);margin-bottom:1rem}.testimonial-rating{display:flex;justify-content:center;gap:.25rem;margin-bottom:1.5rem;color:var(--accent-gold)}.testimonial-text{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;font-style:italic}.testimonial-author{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}.author-name{font-weight:600;margin-bottom:.25rem}.author-location{font-size:.875rem;opacity:.8}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-info{display:flex;flex-direction:column}.contact-info h3{margin-bottom:1rem;color:var(--primary-green)}.contact-intro{margin-bottom:1.5rem;color:var(--charcoal);opacity:.8;line-height:1.6;max-width:none;display:block;width:100%}.contact-details{display:grid;gap:.75rem}.contact-item{display:flex;gap:.75rem;align-items:flex-start}.contact-icon{flex-shrink:0;width:40px;height:40px;background:var(--accent-gold);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--charcoal)}.contact-text h4{margin-bottom:.25rem;color:var(--primary-green);font-size:1rem}.contact-text p{margin:0;color:var(--charcoal);opacity:.8;font-size:.9rem;line-height:1.4}.footer .contact-info{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.footer .contact-item{display:flex;gap:.75rem;align-items:flex-start;width:100%}.footer .contact-text{display:flex;flex-direction:column;gap:.25rem;text-align:left}.footer .contact-text div{color:var(--soft-white);opacity:.8;font-size:.9rem;line-height:1.4;text-align:left}.contact-form{background:var(--light-gray);padding:2rem;border-radius:16px}.contact-form h3{margin-bottom:1.5rem;color:var(--primary-green)}.form{display:grid;gap:1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:var(--soft-white)}.form-group textarea{resize:vertical;min-height:120px}.form-message{padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500;text-align:center}.form-message-success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.form-message-error{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.footer{background:var(--deep-forest);color:var(--soft-white);padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-logo-image{height:75px;width:auto;max-width:250px;object-fit:contain;opacity:.9}.footer-description{margin:1rem 0;opacity:.8;line-height:1.6}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-links a{width:40px;height:40px;background:var(--primary-green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--soft-white);transition:background .3s ease}.social-links a:hover{background:var(--accent-gold);color:var(--charcoal)}.footer-section h4{color:var(--accent-gold);margin-bottom:1rem;font-size:1.1rem}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--soft-white);text-decoration:none;opacity:.8;transition:opacity .3s ease}.footer-links a:hover{opacity:1;color:var(--accent-gold)}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-legal{display:flex;gap:2rem}.footer-legal a{color:var(--soft-white);text-decoration:none;opacity:.8;font-size:.875rem}.footer-legal a:hover{opacity:1;color:var(--accent-gold)}.footer-branding{text-align:center;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.2);margin-top:1.5rem;background-color:var(--deep-forest)}.swampspark-link{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--charcoal);transition:all .3s ease;padding:.5rem 1rem;border-radius:8px;background-color:var(--soft-white)}.swampspark-link:hover{background-color:var(--light-gray);transform:translateY(-2px)}.swampspark-logo{height:48px;width:auto;object-fit:contain}.swampspark-text{font-size:.875rem;font-weight:500;color:var(--charcoal)}@media (max-width: 768px){.top-bar{display:none}.top-bar-content{flex-direction:column;gap:.5rem;text-align:center}.contact-info{flex-direction:column;gap:.5rem}.menu-toggle{display:block}.nav-menu{position:fixed;top:0;left:0;right:0;background:var(--soft-white);flex-direction:column;padding:2rem;padding-top:120px;box-shadow:var(--shadow-medium);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;z-index:9999;height:100vh;overflow-y:auto}.mobile-menu-close{display:none!important}.mobile-menu-close:hover{background:var(--light-gray)}.nav-menu-open{transform:translateY(0);opacity:1;visibility:visible}.nav-menu-open .mobile-menu-close{display:block!important;position:absolute;top:2rem;right:2rem;background:none;border:none;color:var(--charcoal);cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s ease;z-index:10000}.nav-cta{margin-left:0;margin-top:1rem}.hero-stats{flex-direction:column;gap:1.5rem}.hero-actions{flex-direction:column;align-items:center}.about-content,.contact-content{grid-template-columns:1fr;gap:2rem}.about-text{padding:0 1rem}.about-features{gap:1.5rem}.feature{flex-direction:column;text-align:center;gap:1rem}.feature-content{text-align:center}.about-image{padding:0 1rem}.image-container{max-width:100%;margin:0 auto}.contact-intro{font-size:1rem;line-height:1.5}.form-row{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.footer-legal{justify-content:center}.footer-branding{padding:1rem 0;margin-top:1rem;background-color:var(--deep-forest)}.swampspark-link{gap:.5rem;padding:.4rem .8rem}.swampspark-logo{height:40px}.swampspark-text{font-size:.8rem}.logo-image{height:50px;max-width:150px}.footer-logo-image{height:40px;max-width:140px}.hero-section{padding-top:100px;min-height:calc(100vh + 100px)}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-description{font-size:1rem}.btn-large{padding:1rem 1.5rem;font-size:1rem}.about-text,.about-image{padding:0 .5rem}.section-header{margin-bottom:2rem}.section-subtitle{font-size:1.1rem}.amenities-grid,.lots-grid,.testimonials-grid{grid-template-columns:1fr}.cta-actions{flex-direction:column}}.lots-controls{display:flex;justify-content:center;margin-bottom:2rem}.view-toggle{display:flex;background:var(--light-gray);border-radius:12px;padding:.25rem;gap:.25rem}.toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--charcoal);cursor:pointer;transition:all .3s ease}.toggle-btn.active{background:var(--primary-green);color:#fff;box-shadow:0 2px 8px #2d501633}.toggle-btn:hover:not(.active){background:var(--warm-cream)}.lots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.lot-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft);transition:all .3s ease}.lot-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.lot-image{position:relative;height:200px;overflow:hidden}.lot-image-img{width:100%;height:100%;object-fit:cover}.lot-content{padding:1.5rem}.lot-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.lot-header h3{font-size:1.25rem;font-weight:600;color:var(--charcoal);margin:0}.lot-price{font-size:1.1rem;font-weight:700;color:var(--primary-green)}.lot-size{display:flex;align-items:center;gap:.5rem;color:var(--charcoal);font-size:.9rem}.lot-description{margin-bottom:1rem}.lot-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.feature-tag{background:var(--warm-cream);color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.lot-actions{display:flex;gap:.75rem;flex-wrap:wrap}.lot-actions .btn{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:.5rem}.sale-map-container{margin-bottom:2rem}.map-header{text-align:center;margin-bottom:1.5rem}.map-header h3{font-size:1.5rem;font-weight:600;color:var(--charcoal);margin:0 0 .5rem}.map-header p{color:var(--charcoal);margin:0}.sale-map{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft);background:var(--light-gray)}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:500px;color:var(--charcoal);gap:1rem}.map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:500px;text-align:center;padding:2rem;color:var(--charcoal)}.map-error .error-icon{font-size:3rem;margin-bottom:1rem}.map-error h3{margin-bottom:.5rem;color:var(--charcoal)}.map-error p{margin-bottom:1.5rem;color:var(--medium-gray)}.map-error .btn{display:flex;align-items:center;gap:.5rem}.lot-number{font-size:.8rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.selected-lot-info{margin-top:1.5rem}.lot-info-card{background:#fff;border-radius:12px;box-shadow:var(--shadow-soft);overflow:hidden}.lot-info-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--primary-green);color:#fff}.lot-info-header h4{margin:0;font-size:1.1rem;font-weight:600}.close-info{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.close-info:hover{background:#fff3}.lot-info-content{padding:1.5rem}.lot-info-price,.lot-info-size{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-weight:500}.lot-info-price{color:var(--primary-green);font-size:1.1rem}.lot-info-description{margin-bottom:1rem}.lot-info-description p{color:var(--charcoal);line-height:1.5;margin:0}.lot-info-amenities{margin-bottom:1.5rem}.lot-info-amenities h5{font-size:.9rem;font-weight:600;color:var(--charcoal);margin:0 0 .5rem}.amenity-tag{background:var(--warm-cream);color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.lot-info-actions{display:flex;gap:1rem}.lot-info-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.sale-lot-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.sale-lot-modal{background:#fff;border-radius:16px;max-width:800px;max-height:90vh;width:100%;overflow:hidden;box-shadow:var(--shadow-strong)}.sale-lot-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--primary-green);color:#fff}.sale-lot-modal-header h3{margin:0;font-size:1.5rem;font-weight:600}.close-modal-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s ease}.close-modal-btn:hover{background:#fff3}.sale-lot-modal-content{padding:1.5rem;max-height:calc(90vh - 80px);overflow-y:auto}.lot-images-section{margin-bottom:2rem}.lot-images-section h4{margin:0 0 1rem;color:var(--charcoal);font-size:1.1rem;font-weight:600}.lot-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.lot-image-thumbnail{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .3s ease}.lot-image-thumbnail:hover{transform:scale(1.05)}.lot-image-thumbnail img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .3s ease}.lot-image-thumbnail:hover .image-overlay{opacity:1}.lot-details-section{margin-bottom:2rem}.lot-price{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--primary-green);margin-bottom:1rem}.lot-size{display:flex;align-items:center;gap:.5rem;color:var(--charcoal);margin-bottom:1rem}.lot-description h5,.lot-amenities h5{margin:0 0 .5rem;color:var(--charcoal);font-size:1rem;font-weight:600}.lot-description p{color:var(--charcoal);line-height:1.5;margin:0}.lot-amenities{margin-top:1rem}.lot-modal-actions{display:flex;gap:1rem;margin-top:2rem}.lot-modal-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.image-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem}.image-modal{position:relative;max-width:90vw;max-height:90vh;width:auto;height:auto}.close-image-modal{position:absolute;top:-50px;right:0;background:#fff3;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;z-index:1002;transition:background-color .3s ease}.close-image-modal:hover{background:#ffffff4d}.image-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:none;color:#fff;cursor:pointer;padding:1rem;border-radius:50%;z-index:1002;transition:background-color .3s ease}.image-nav-btn:hover{background:#ffffff4d}.prev-btn{left:-60px}.next-btn{right:-60px}.image-modal-content{position:relative}.modal-image{max-width:100%;max-height:90vh;width:auto;height:auto;border-radius:8px;box-shadow:var(--shadow-strong)}.image-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.owner-contact{margin-top:1rem;padding:1rem;background:var(--light-gray);border-radius:6px;border-left:4px solid var(--deep-forest)}.owner-contact h5{margin:0 0 .75rem;color:var(--deep-forest);font-size:1rem;font-weight:600}.contact-info{display:flex;flex-direction:column;gap:.5rem}.contact-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.contact-item strong{color:var(--charcoal);min-width:60px}.contact-link{color:var(--deep-forest);text-decoration:none;font-weight:500}.contact-link:hover{text-decoration:underline;color:var(--forest-green)}.lot-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.lot-image{flex:1}.lot-card-middle{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.lot-card-middle h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--charcoal)}.lot-price{flex-shrink:0;font-size:1.5rem;font-weight:600;color:var(--deep-forest);text-align:right;min-width:120px}.lot-owner-contact{margin:.5rem 0 0;padding:.5rem;background:var(--light-gray);border-radius:6px;border-left:3px solid var(--deep-forest)}.owner-contact-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:.25rem}.owner-contact-item:last-child{margin-bottom:0}.owner-contact-item strong{color:var(--charcoal);min-width:50px;font-size:.8rem}.owner-contact-link{color:var(--deep-forest);text-decoration:none;font-weight:500;font-size:.85rem}.owner-contact-link:hover{text-decoration:underline;color:var(--forest-green)}@media (max-width: 768px){.lots-grid{grid-template-columns:1fr;gap:1.5rem}.lot-actions,.lot-info-actions{flex-direction:column}.view-toggle{width:100%}.toggle-btn{flex:1;justify-content:center}.sale-lot-modal{max-width:95vw;max-height:95vh}.sale-lot-modal-content{padding:1rem}.lot-images-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.lot-modal-actions{flex-direction:column}.image-nav-btn{padding:.75rem}.prev-btn{left:-50px}.next-btn{right:-50px}.close-image-modal{top:-40px}}.admin-tabs{background:#fff;border-bottom:2px solid var(--light-gray);margin-bottom:2rem}.tab-nav{display:flex;gap:0}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;background:transparent;color:var(--medium-gray);font-size:1rem;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease}.tab-btn:hover{background:var(--light-gray);color:var(--charcoal)}.tab-btn.active{color:var(--deep-forest);border-bottom-color:var(--deep-forest);background:var(--light-gray)}.tab-btn svg{width:20px;height:20px}.login-page,.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--deep-forest) 0%,var(--primary-green) 100%);padding:2rem 1rem}.login-container,.signup-container{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;width:100%;background:var(--soft-white);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-strong);min-height:600px}.login-form-wrapper,.signup-form-wrapper{padding:3rem;display:flex;flex-direction:column;justify-content:center}.login-header,.signup-header{text-align:center;margin-bottom:2rem}.login-logo,.signup-logo{height:60px;width:auto;margin-bottom:1.5rem}.login-header h1,.signup-header h1{color:var(--primary-green);margin-bottom:.5rem;font-size:2rem}.login-header p,.signup-header p{color:var(--charcoal);opacity:.8;font-size:1.1rem}.login-form,.signup-form{display:flex;flex-direction:column;gap:1.5rem}.input-wrapper-fixed{display:flex;align-items:center;gap:1rem;width:100%}.input-icon-fixed{color:var(--secondary-green);width:20px;height:20px;flex-shrink:0}.input-field-fixed{flex:1;padding:1rem;border:2px solid var(--light-gray);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff!important;color:var(--charcoal);box-shadow:0 0 0 1px #0000001a}.input-field-fixed:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.password-wrapper-fixed{display:flex;align-items:center;gap:1rem;width:100%}.password-icon-fixed{color:var(--secondary-green);width:20px;height:20px;flex-shrink:0}.password-field-fixed{flex:1;padding:1rem 3rem 1rem 1rem;border:2px solid var(--light-gray);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff!important;color:var(--charcoal);box-shadow:0 0 0 1px #0000001a}.password-field-fixed:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.password-toggle-fixed{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--secondary-green);cursor:pointer;padding:.25rem;border-radius:4px;transition:color .3s ease;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.password-toggle-fixed:hover{color:var(--primary-green)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--secondary-green);z-index:10;pointer-events:none;top:50%;transform:translateY(-50%);width:20px;height:20px}.input-wrapper input{width:100%;padding:1rem 1rem 1rem 4rem;border:2px solid var(--light-gray);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff!important;color:var(--charcoal);box-shadow:0 0 0 1px #0000001a}.input-wrapper input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--secondary-green);cursor:pointer;padding:.25rem;border-radius:4px;transition:color .3s ease;z-index:10;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--primary-green)}.select-input{width:100%;padding:1rem;border:2px solid var(--light-gray);border-radius:12px;font-size:1rem;background:#fff;color:var(--charcoal);transition:all .3s ease}.select-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.form-options{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--charcoal)}.checkbox-wrapper input[type=checkbox]{display:none}.checkmark{width:18px;height:18px;border:2px solid var(--light-gray);border-radius:4px;position:relative;transition:all .3s ease}.checkbox-wrapper input[type=checkbox]:checked+.checkmark{background:var(--primary-green);border-color:var(--primary-green)}.checkbox-wrapper input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--soft-white);font-size:12px;font-weight:700}.forgot-link,.signup-link,.login-link{color:var(--primary-green);text-decoration:none;font-weight:500;transition:color .3s ease}.forgot-link:hover,.signup-link:hover,.login-link:hover{color:var(--secondary-green)}.login-btn,.signup-btn{margin-top:1rem;gap:.5rem}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:8px;border:1px solid #fcc;font-size:.9rem;margin-bottom:1rem}.success-message{text-align:center;padding:2rem}.success-icon{color:var(--primary-green);margin:0 auto 1rem;display:block}.success-message h2{color:var(--primary-green);margin-bottom:1rem;font-size:1.5rem}.success-message p{color:var(--charcoal);margin-bottom:.5rem;line-height:1.6}.success-message strong{color:var(--primary-green);font-weight:600}.success-subtext{font-size:.9rem;opacity:.8;margin-top:1rem}.login-footer,.signup-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--light-gray)}.login-footer p,.signup-footer p{color:var(--charcoal);opacity:.8}.login-image,.signup-image{background:linear-gradient(135deg,var(--primary-green),var(--secondary-green));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-image:before,.signup-image:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.image-overlay{text-align:center;color:var(--soft-white);z-index:1;position:relative}.image-overlay h2{font-size:2.5rem;margin-bottom:1rem;font-weight:700}.image-overlay p{font-size:1.2rem;opacity:.9}.dashboard-page{min-height:100vh;background:var(--light-gray)}.dashboard-header{background:var(--soft-white);padding:2rem 0;border-bottom:1px solid var(--light-gray)}.dashboard-header-content{display:flex;justify-content:space-between;align-items:center}.welcome-section h1{color:var(--primary-green);margin-bottom:.5rem}.welcome-section p{color:var(--charcoal);opacity:.8}.user-actions{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem;color:var(--charcoal);font-weight:500}.dashboard-main{padding:3rem 0}.dashboard-content h2{color:var(--primary-green);margin-bottom:2rem;text-align:center}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.dashboard-card{background:var(--soft-white);padding:2rem;border-radius:16px;text-align:center;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%}.dashboard-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.dashboard-card svg{color:var(--accent-gold);margin-bottom:1rem}.dashboard-card h3{color:var(--primary-green);margin-bottom:1rem}.dashboard-card p{color:var(--charcoal);opacity:.8;margin-bottom:1.5rem;line-height:1.6;flex:1}.dashboard-card .btn{width:100%;margin-top:auto}.dashboard-card .card-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:auto}.dashboard-card .card-actions .btn{width:100%}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--light-gray);border-top:4px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite}.approval-status{border:2px solid;border-radius:12px;padding:2rem;margin:2rem 0;max-width:600px;margin-left:auto;margin-right:auto}.approval-content{display:flex;align-items:flex-start;gap:1rem}.approval-icon{flex-shrink:0;margin-top:.25rem}.approval-text{flex:1}.approval-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.approval-message{line-height:1.6;margin:0}.approval-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center}.approval-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer;font-size:.9rem}.approval-actions .btn-primary{background:var(--primary-green);color:#fff}.approval-actions .btn-primary:hover{background:var(--dark-green);transform:translateY(-2px)}.approval-actions .btn-secondary{background:var(--light-gray);color:var(--charcoal);border:2px solid var(--medium-gray)}.approval-actions .btn-secondary:hover{background:var(--medium-gray);transform:translateY(-2px)}@media (max-width: 768px){.approval-actions{flex-direction:column;gap:.75rem}.approval-actions .btn{width:100%;justify-content:center}}.approval-required-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--light-gray);padding:2rem 1rem}.user-approval-manager{background:var(--soft-white);border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-soft)}.approval-header{text-align:center;margin-bottom:2rem}.approval-header h2{color:var(--primary-green);margin-bottom:.5rem}.approval-header p{color:var(--charcoal);opacity:.8}.no-pending-users{text-align:center;padding:3rem 2rem;color:var(--secondary-green)}.no-pending-users svg{margin-bottom:1rem;color:var(--accent-gold)}.no-pending-users h3{margin-bottom:.5rem;color:var(--primary-green)}.pending-users-list{display:grid;gap:1.5rem}.pending-user-card{background:var(--light-gray);border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.user-info{flex:1}.user-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.user-header h3{margin:0;color:var(--primary-green);font-size:1.1rem}.user-type-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.user-type-owner{background:var(--accent-gold);color:var(--charcoal)}.user-type-manager{background:var(--secondary-green);color:var(--soft-white)}.user-type-admin{background:var(--primary-green);color:var(--soft-white)}.user-details{display:grid;gap:.5rem}.detail-item{display:flex;align-items:center;gap:.5rem;color:var(--charcoal);opacity:.8;font-size:.9rem}.approval-actions{display:flex;flex-direction:column;gap:.75rem;min-width:120px}.approve-btn{background:var(--secondary-green);color:var(--soft-white)}.approve-btn:hover{background:var(--primary-green)}.reject-btn{background:#dc3545;color:var(--soft-white);border-color:#dc3545}.reject-btn:hover{background:#c82333;border-color:#c82333}@media (max-width: 768px){.login-container,.signup-container{grid-template-columns:1fr;max-width:500px}.login-image,.signup-image{display:none}.login-form-wrapper,.signup-form-wrapper{padding:2rem}.form-row{grid-template-columns:1fr}.dashboard-header-content{flex-direction:column;gap:1rem;text-align:center}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 480px){.login-form-wrapper,.signup-form-wrapper{padding:1.5rem}.login-header h1,.signup-header h1{font-size:1.5rem}.image-overlay h2{font-size:2rem}}.lot-management-page{min-height:100vh;background:var(--light-gray)}.lot-management-header{background:var(--soft-white);border-bottom:2px solid var(--light-gray);padding:1.5rem 0;box-shadow:0 2px 10px #0000001a}.header-content{display:flex;align-items:center;justify-content:space-between;gap:2rem}.header-center h1{font-size:2rem;color:var(--charcoal);margin-bottom:.5rem}.header-center p{font-size:1rem;color:var(--medium-gray);margin:0}.lot-management-page .container{padding:2rem 0}.page-header{text-align:center;margin-bottom:2rem}.page-header h1{font-size:2.5rem;color:var(--charcoal);margin-bottom:.5rem}.page-header p{font-size:1.1rem;color:var(--medium-gray)}.lot-management-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:var(--soft-white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid var(--medium-gray);background:var(--soft-white);color:var(--charcoal);border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.lot-map-container{background:var(--soft-white);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.map-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.map-info h3{color:var(--charcoal);margin-bottom:.5rem}.map-info p{color:var(--medium-gray);font-size:.9rem}.map-actions,.add-lot-controls{display:flex;align-items:center;gap:1rem}.add-lot-controls p{color:var(--medium-gray);font-size:.9rem;margin:0}.add-lot-buttons{display:flex;gap:.5rem}.drawing-mode-toggle{display:flex;gap:.5rem;margin-right:1rem}.mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid var(--medium-gray);background:var(--soft-white);color:var(--charcoal);border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.9rem}.mode-btn:hover{border-color:var(--primary-green);color:var(--primary-green)}.mode-btn.active{background:var(--primary-green);border-color:var(--primary-green);color:#fff}.map-wrapper{border:2px solid var(--light-gray);border-radius:8px;overflow:hidden;position:relative;background:#fff}.lot-map{position:relative;display:inline-block}.lot-map img{display:block;max-width:100%;height:auto}.map-legend{display:flex;gap:2rem;margin-top:1.5rem;justify-content:center}.lot-list-container{background:var(--soft-white);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.lot-list-header{margin-bottom:2rem}.lot-list-header h3{color:var(--charcoal);margin-bottom:.5rem}.lot-list-header p{color:var(--medium-gray);font-size:.9rem}.empty-state svg{margin-bottom:1rem;opacity:.5}.lot-list{display:grid;gap:1.5rem}.lot-card{background:#fff;border:2px solid var(--light-gray);border-radius:12px;padding:1.5rem;transition:all .3s ease}.lot-card:hover{border-color:var(--primary-green);box-shadow:0 4px 15px #10b9811a}.lot-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lot-number{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--charcoal)}.status-badge{padding:.25rem .75rem;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600}.lot-card-content{margin-bottom:1.5rem}.lot-details{margin-bottom:1rem}.detail-item{margin-bottom:.5rem;font-size:.9rem;color:var(--charcoal)}.detail-item strong{color:var(--dark-green)}.lot-pricing{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.price-item{display:flex;align-items:center;gap:.25rem;font-size:.9rem;color:var(--charcoal);background:var(--light-gray);padding:.25rem .75rem;border-radius:20px}.lot-flags{display:flex;gap:.5rem;flex-wrap:wrap}.flag{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.flag.rental-pool{background:#dbeafe;color:#1e40af}.flag.for-sale{background:#fef3c7;color:#d97706}.flag.available{background:#d1fae5;color:#059669}.lot-card-actions{display:flex;gap:.75rem}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-danger{background:#ef4444;color:#fff;border:none}.btn-danger:hover{background:#dc2626}.lot-form-modal{max-width:800px;max-height:90vh;overflow-y:auto}.lot-form{padding:0}.form-grid{display:grid;gap:2rem}.form-section h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.1rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-green)}.amenities-input{display:flex;gap:.5rem;margin-bottom:1rem}.amenities-input input{flex:1}.amenities-list{display:flex;flex-wrap:wrap;gap:.5rem}.amenity-tag{display:flex;align-items:center;gap:.5rem;background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem}.amenity-remove{background:none;border:none;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center}.amenity-remove:hover{color:#fef2f2}.polygon-info{background:#dbeafe;border:2px solid #3b82f6;border-radius:8px;padding:1rem;margin-bottom:1rem}.info-badge{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#1e40af;margin-bottom:.5rem}.info-text{font-size:.9rem;color:#1e40af;margin:0;line-height:1.4}.owner-lot-management-page{min-height:100vh;background:var(--light-gray)}.owner-lot-management-header{background:var(--soft-white);border-bottom:2px solid var(--light-gray);padding:1.5rem 0;box-shadow:0 2px 10px #0000001a}.owner-lots-content{background:var(--soft-white);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.owner-lots-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.owner-lot-card{background:#fff;border:2px solid var(--light-gray);border-radius:12px;padding:1.5rem;transition:all .3s ease}.owner-lot-card:hover{border-color:var(--primary-green);box-shadow:0 4px 15px #10b9811a}.owner-lot-card .lot-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;background:var(--primary-green);padding:.75rem 1rem;border-radius:8px;margin:-1.5rem -1.5rem 1rem}.owner-lot-card .lot-number{font-weight:600;color:var(--soft-white)!important;font-size:1.1rem}.owner-lot-card .status-badge{padding:.25rem .75rem;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;text-transform:capitalize}.owner-lot-card .status-badge.available{background:#10b981}.owner-lot-card .status-badge.sold{background:#6b7280}.owner-lot-card .status-badge.reserved{background:#f59e0b}.owner-lot-card .status-badge.rented{background:#3b82f6}.owner-lot-card .status-badge.maintenance{background:#ef4444}.owner-lot-card .lot-card-content{margin-bottom:1.5rem}.owner-lot-card .lot-details{margin-bottom:1rem}.owner-lot-card .detail-item{margin-bottom:.5rem;font-size:.9rem;color:var(--charcoal)}.owner-lot-card .detail-item strong{color:var(--dark-green)}.owner-lot-card .lot-flags{display:flex;gap:.5rem;flex-wrap:wrap}.owner-lot-card .flag{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.owner-lot-card .flag.rental-pool{background:#dbeafe;color:#1e40af}.owner-lot-card .flag.for-sale{background:#fef3c7;color:#d97706}.owner-lot-card .flag.available{background:#d1fae5;color:#059669}.owner-lot-card .lot-card-actions{display:flex;gap:.75rem}.owner-lot-form-modal{max-width:700px;max-height:90vh;overflow-y:auto}.owner-lot-form{padding:0}.read-only-info{background:var(--light-gray);padding:1rem;border-radius:8px;margin-bottom:1rem}.info-item{margin-bottom:.5rem;font-size:.9rem;color:var(--charcoal)}.info-item strong{color:var(--dark-green)}.form-help{display:block;margin-top:.25rem;font-size:.8rem;color:var(--medium-gray);font-style:italic}.lot-image-upload{margin-top:1rem}.image-upload-section h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.1rem}.upload-area{border:2px dashed var(--medium-gray);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--light-gray)}.upload-area:hover{border-color:var(--primary-green);background:var(--soft-white)}.upload-area.drag-over{border-color:var(--primary-green);background:var(--soft-white);transform:scale(1.02)}.upload-area.uploading{border-color:var(--primary-green);background:var(--soft-white);cursor:not-allowed}.upload-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-content svg{color:var(--primary-green)}.upload-content p{margin:0;font-weight:600;color:var(--charcoal)}.upload-content small{color:var(--medium-gray);font-size:.8rem}.image-gallery{margin-top:2rem}.image-gallery h4{color:var(--charcoal);margin-bottom:1rem;font-size:1rem}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.image-item{background:#fff;border:2px solid var(--light-gray);border-radius:8px;overflow:hidden;transition:all .3s ease}.image-item:hover{border-color:var(--primary-green);box-shadow:0 4px 15px #10b9811a}.image-container{position:relative;aspect-ratio:4/3;overflow:hidden}.image-container img{width:100%;height:100%;object-fit:cover}.primary-badge{position:absolute;top:.5rem;left:.5rem;background:var(--primary-green);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.image-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .3s ease}.image-item:hover .image-actions{opacity:1}.action-btn{width:28px;height:28px;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.primary-btn{background:var(--primary-green);color:#fff}.primary-btn:hover{background:var(--dark-green)}.primary-btn:disabled{background:var(--medium-gray);cursor:not-allowed}.delete-btn{background:#ef4444;color:#fff}.image-info{padding:.75rem}.image-name{font-size:.8rem;font-weight:600;color:var(--charcoal);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--medium-gray)}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.header-left,.header-right{order:2}.header-center{order:1}.header-center h1{font-size:1.5rem}.lot-management-controls{flex-direction:column;gap:1rem;align-items:stretch}.view-toggle{justify-content:center}.map-controls{flex-direction:column;gap:1rem;align-items:stretch}.map-actions{justify-content:center}.add-lot-controls{flex-direction:column;gap:.5rem;text-align:center}.map-legend{flex-direction:column;gap:1rem;align-items:center}.form-row{grid-template-columns:1fr}.lot-pricing,.lot-card-actions,.amenities-input{flex-direction:column}}@media (max-width: 480px){.lot-management-header{padding:1rem 0}.header-center h1{font-size:1.25rem}.header-center p{font-size:.9rem}.lot-management-page .container{padding:1rem 0}.lot-map-container,.lot-list-container,.form-section{padding:1rem}}.subscription-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.subscription-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:900px;width:100%;max-height:90vh;overflow-y:auto}.subscription-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--light-gray);background:var(--light-gray);border-radius:12px 12px 0 0}.subscription-modal-header h2{margin:0;color:var(--charcoal);font-size:1.4rem;font-weight:600}.subscription-modal-header .modal-close{background:none;border:none;font-size:1.5rem;color:var(--medium-gray);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.subscription-modal-header .modal-close:hover{background:var(--medium-gray);color:#fff}.subscription-modal-body{padding:0}.owner-lot-card .lot-card-actions{display:flex;gap:.75rem;flex-wrap:wrap}.owner-lot-card .lot-card-actions .btn{flex:1;min-width:140px}@media (max-width: 768px){.owner-lot-card .lot-card-actions{flex-direction:column}.owner-lot-card .lot-card-actions .btn{width:100%;min-width:auto}.subscription-modal-content{max-width:95vw;margin:.5rem}.subscription-modal-header{padding:1rem 1.5rem}.subscription-modal-header h2{font-size:1.2rem}}.rental-page{min-height:100vh;background:var(--light-gray);padding-top:120px}.rental-page .error-message{background:#fee2e2;border:2px solid #ef4444;color:#dc2626;padding:2rem;border-radius:12px;margin:2rem auto;text-align:center;max-width:600px}.rental-page .error-message h2{color:#dc2626;margin-bottom:1rem}.rental-page .error-message p{margin-bottom:1rem;line-height:1.6}.rental-page .error-message button{margin-top:1rem}.rental-hero{background:#2d5016!important;background:linear-gradient(135deg,#2d5016,#1a3d0a)!important;color:#fff!important;padding:4rem 0;text-align:center;position:relative;z-index:1;margin-top:-120px;padding-top:calc(4rem + 120px)}.rental-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;font-family:var(--font-display);color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.rental-hero-content p{font-size:1.2rem;margin-bottom:2rem;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.rental-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.rental-stats .stat{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.rental-stats .stat svg{color:#d4af37!important}.rental-controls{background:var(--soft-white);padding:2rem;border-radius:12px;margin:2rem 0;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;gap:2rem}.date-search-section{background:#fff;border:2px solid var(--light-gray);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.date-search-section h3{margin:0 0 1rem;color:var(--charcoal);font-size:1.2rem;font-family:var(--font-display)}.date-inputs{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;min-width:150px}.date-input-group label{font-weight:600;color:var(--charcoal);margin-bottom:.5rem;font-size:.9rem}.date-input-group input{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.date-input-group input:focus{outline:none;border-color:var(--primary-green)}.clear-dates-btn{padding:.75rem 1rem;background:var(--light-gray);color:var(--charcoal);border:1px solid var(--charcoal);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;height:fit-content}.clear-dates-btn:hover{background:var(--charcoal);color:#fff}.date-search-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-dates-btn{padding:.75rem 1.5rem;background:var(--primary-green);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.search-dates-btn:hover:not(:disabled){background:var(--deep-forest);color:#fff;transform:translateY(-1px)}.search-dates-btn:disabled{background:var(--light-gray);color:var(--charcoal);cursor:not-allowed;transform:none}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:2rem}.toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid var(--light-gray);background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;color:var(--charcoal)}.toggle-btn.active{background:var(--primary-green);border-color:var(--primary-green);color:#fff}.filters-section{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-filter{position:relative;display:flex;align-items:center}.search-filter svg{position:absolute;left:1rem;color:var(--medium-gray);z-index:1}.search-filter input{padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;width:250px;transition:border-color .3s ease}.search-filter input:focus{outline:none;border-color:var(--primary-green)}.price-filters{display:flex;gap:.5rem}.price-filters input{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;width:120px;transition:border-color .3s ease}.price-filters input:focus{outline:none;border-color:var(--primary-green)}.amenities-filter{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.amenities-filter-header{display:flex;justify-content:space-between;align-items:center}.amenities-filter-header label{font-weight:600;color:var(--charcoal);font-size:.9rem}.clear-amenities-btn{background:#ef4444;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background-color .3s ease}.clear-amenities-btn:hover{background:#dc2626}.amenities-filter select{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:#fff}.amenities-filter select:focus{outline:none;border-color:var(--primary-green)}.selected-amenities{margin-top:.5rem}.selected-label{font-size:.8rem;color:var(--medium-gray);font-weight:600;margin-bottom:.5rem;display:block}.amenity-tags{display:flex;flex-wrap:wrap;gap:.5rem}.amenity-tag{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.remove-amenity{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.remove-amenity:hover{background:#fff3}.rental-content{margin:2rem 0}.rental-map-container{background:var(--soft-white);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.map-wrapper{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.rental-map{width:100%;height:auto;min-height:500px;position:relative}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:500px;color:var(--medium-gray)}.map-legend{margin-top:1.5rem;padding:1.5rem;background:#fff;border-radius:8px;border:2px solid var(--light-gray)}.map-legend h4{color:var(--charcoal);margin-bottom:1rem;font-size:1.1rem}.legend-items{display:flex;gap:2rem;margin-bottom:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--charcoal)}.legend-color{width:20px;height:20px;border-radius:4px;border:2px solid white}.legend-color.available{background:#3b82f6}.legend-color.selected{background:#10b981}.legend-stats{padding-top:1rem;border-top:1px solid var(--light-gray)}.legend-stats p{margin:0;color:var(--charcoal);font-size:.9rem}.rental-list-container{background:var(--soft-white);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.list-title h3{color:var(--charcoal);margin-bottom:.5rem;font-size:1.5rem}.list-title p{color:var(--medium-gray);margin:0}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-controls label{font-weight:600;color:var(--charcoal)}.sort-controls select{padding:.5rem;border:2px solid var(--light-gray);border-radius:6px;font-size:.9rem}.rental-lots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.rental-lot-card{background:#fff;border:2px solid var(--light-gray);border-radius:12px;overflow:hidden;transition:all .3s ease;cursor:pointer}.rental-lot-card:hover{border-color:var(--primary-green);box-shadow:0 4px 15px #10b9811a;transform:translateY(-2px)}.rental-lot-card.selected{border-color:var(--primary-green);box-shadow:0 4px 15px #10b98133}.lot-image{position:relative;aspect-ratio:16/10;overflow:hidden}.lot-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.rental-lot-card:hover .lot-image img{transform:scale(1.05)}.no-image{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--light-gray);color:var(--medium-gray);gap:.5rem}.price-badge{position:absolute;top:1rem;right:1rem;background:var(--primary-green);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;display:flex;align-items:center;gap:.25rem;font-size:.9rem}.selection-indicator{position:absolute;top:1rem;left:1rem;background:var(--accent-gold);color:#fff;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.lot-details{padding:1.5rem}.lot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lot-header h4{color:var(--charcoal);margin:0;font-size:1.2rem}.lot-size{background:var(--light-gray);color:var(--charcoal);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.lot-description{color:var(--medium-gray);margin-bottom:1rem;line-height:1.5;font-size:.9rem}.lot-amenities{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.amenity-tag{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.amenity-more{background:var(--light-gray);color:var(--charcoal);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.lot-actions{display:flex;gap:.75rem}.lot-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;font-size:.9rem}.selected-lot-details{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:1000;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.selected-lot-details.reservation-modal{max-width:800px;max-height:90vh;width:95%;bottom:1rem}.lot-detail-card{background:#fff;border:2px solid var(--primary-green);border-radius:12px;box-shadow:0 8px 25px #00000026;overflow:hidden}.reservation-form-container{max-width:100%;max-height:100%;width:100%;height:100%;overflow:hidden;border-radius:12px;display:flex;flex-direction:column}.lot-detail-header{background:var(--primary-green);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.lot-detail-header h3{margin:0;font-size:1.2rem}.close-details{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.close-details:hover{background:#fff3}.lot-detail-content{padding:1.5rem}.lot-detail-images,.lot-detail-info{margin-bottom:1.5rem}.detail-row{margin-bottom:.75rem;font-size:.9rem;color:var(--charcoal)}.detail-row strong{color:var(--dark-green);margin-right:.5rem}.lot-detail-actions{display:flex;gap:.75rem}.lot-detail-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;font-size:.9rem}.list-footer{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:2px solid var(--light-gray);flex-wrap:wrap;gap:1rem}.list-summary p{margin:0;color:var(--charcoal);font-size:.9rem}.list-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--medium-gray)}.empty-state h3{color:var(--charcoal);margin-bottom:1rem}.empty-state p{margin:0;line-height:1.5}@media (max-width: 768px){.rental-hero-content h1{font-size:2rem}.rental-stats{flex-direction:column;gap:1rem}.rental-controls,.filters-section{flex-direction:column;align-items:stretch}.amenities-filter{min-width:auto}.search-filter input{width:100%}.price-filters{justify-content:space-between}.price-filters input{flex:1}.rental-lots-grid{grid-template-columns:1fr}.list-header,.list-footer{flex-direction:column;align-items:stretch}.selected-lot-details{position:fixed;bottom:0;left:0;right:0;transform:none;width:100%;max-width:none}.selected-lot-details.reservation-modal{max-height:100vh;height:100vh}.lot-detail-actions{flex-direction:column}}.image-gallery-modal{max-width:90vw;max-height:90vh;width:800px;height:600px;padding:0;overflow:hidden}.lot-image-gallery{display:flex;flex-direction:column;height:100%;background:#fff}.lot-image-gallery.embedded{height:auto;background:transparent}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--primary-green);color:#fff;border-bottom:2px solid var(--dark-green)}.gallery-header h3{margin:0;font-size:1.2rem}.close-gallery{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s ease}.close-gallery:hover{background:#fff3}.gallery-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.lot-image-gallery.embedded .gallery-main{flex:none}.main-image-container{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:#f8f9fa;overflow:hidden}.lot-image-gallery.embedded .main-image-container{height:200px;flex:none;border-radius:8px;border:2px solid var(--light-gray)}.main-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.primary-badge{position:absolute;top:1rem;left:1rem;background:var(--accent-gold);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.25rem;z-index:10}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:#fff;border:none;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10}.nav-arrow:hover{background:#000000e6;transform:translateY(-50%) scale(1.1)}.nav-arrow-left{left:1rem}.nav-arrow-right{right:1rem}.image-counter{position:absolute;bottom:1rem;right:1rem;background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;z-index:10}.thumbnail-strip{display:flex;gap:.5rem;padding:1rem;background:#fff;border-top:2px solid var(--light-gray);overflow-x:auto;scrollbar-width:thin}.lot-image-gallery.embedded .thumbnail-strip{padding:.75rem;background:transparent;border-top:1px solid var(--light-gray)}.thumbnail{position:relative;width:80px;height:60px;border:2px solid var(--light-gray);border-radius:6px;overflow:hidden;cursor:pointer;transition:all .3s ease;flex-shrink:0}.lot-image-gallery.embedded .thumbnail{width:60px;height:45px}.thumbnail:hover{border-color:var(--primary-green);transform:scale(1.05)}.thumbnail.active{border-color:var(--primary-green);box-shadow:0 0 0 2px #10b9814d}.thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-primary-badge{position:absolute;top:2px;right:2px;background:var(--accent-gold);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.image-info{padding:1rem 1.5rem;background:var(--light-gray);border-top:1px solid var(--medium-gray)}.lot-image-gallery.embedded .image-info{padding:.5rem 0;background:transparent;border-top:none}.image-details h4{margin:0 0 .5rem;color:var(--charcoal);font-size:1rem}.image-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--medium-gray)}.no-images{display:flex;align-items:center;justify-content:center;height:200px;color:var(--medium-gray);font-style:italic}@media (max-width: 768px){.image-gallery-modal{max-width:95vw;max-height:95vh;width:100%;height:100%}.gallery-header{padding:.75rem 1rem}.gallery-header h3{font-size:1rem}.nav-arrow{width:40px;height:40px}.nav-arrow-left{left:.5rem}.nav-arrow-right{right:.5rem}.thumbnail-strip{padding:.75rem}.thumbnail{width:60px;height:45px}.image-info{padding:.75rem 1rem}}@media (max-width: 480px){.rental-hero{padding:2rem 0}.rental-hero-content h1{font-size:1.5rem}.rental-hero-content p{font-size:1rem}.rental-controls{padding:1rem}.date-search-actions{flex-direction:column;align-items:stretch}.search-dates-btn,.clear-dates-btn{width:100%;justify-content:center}.rental-map-container,.rental-list-container{padding:1rem}.lot-actions{flex-direction:column}}.reservation-form-modal{max-width:800px;max-height:90vh;width:95vw;overflow:hidden;display:flex;flex-direction:column}.reservation-form-modal.embedded{max-width:100%;max-height:100%;width:100%;height:100%;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden}.reservation-form-embedded{width:100%;height:100%;display:flex;flex-direction:column}.reservation-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--primary-green);color:#fff;border-bottom:2px solid var(--dark-green);flex-shrink:0}.reservation-header h2{margin:0;font-size:1.5rem;font-family:var(--font-display)}.modal-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s ease}.modal-close:hover{background:#fff3}.reservation-progress{padding:1rem 1.5rem;background:var(--light-gray);border-bottom:1px solid var(--medium-gray);flex-shrink:0}.progress-bar{width:100%;height:8px;background:var(--medium-gray);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:var(--primary-green);transition:width .3s ease}.step-indicators{display:flex;justify-content:space-between;align-items:center}.step-indicator{width:32px;height:32px;border-radius:50%;background:var(--medium-gray);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s ease}.step-indicator.active{background:var(--primary-green)}.reservation-content{flex:1;overflow-y:auto;padding:2rem;min-height:0}.reservation-step{max-width:600px;margin:0 auto}.step-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--light-gray)}.step-header h3{margin:0;color:var(--charcoal);font-size:1.5rem;font-family:var(--font-display)}.step-header svg{color:var(--primary-green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group.full-width{grid-column:1 / -1}.form-group input.error,.form-group select.error{border-color:#ef4444}.error-text{color:#ef4444;font-size:.8rem;margin-top:.25rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600;color:var(--charcoal)}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary-green)}.super-c-warning{grid-column:1 / -1;background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.warning-content h4{color:#d97706;margin:0 0 1rem;font-size:1.1rem}.warning-content p{color:#92400e;margin:0 0 .75rem;line-height:1.5}.warning-content ul{color:#92400e;margin:.75rem 0;padding-left:1.5rem}.warning-content li{margin-bottom:.5rem}.availability-info{background:var(--light-gray);border:2px solid var(--primary-green);border-radius:8px;padding:1rem;margin-top:1rem}.lot-rate-info{font-size:1.1rem;color:var(--charcoal);margin-bottom:.5rem}.nights-info{font-size:.9rem;color:var(--medium-gray);font-weight:600}.availability-checking{display:flex;align-items:center;gap:.75rem;background:#f0f9ff;border:2px solid #0ea5e9;border-radius:8px;padding:1rem;margin-top:1rem;color:#0369a1;font-weight:600}.checking-spinner{width:20px;height:20px;border:2px solid #e0f2fe;border-top:2px solid #0ea5e9;border-radius:50%;animation:spin 1s linear infinite}.add-ons-grid{display:grid;gap:1rem}.add-on-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border:2px solid var(--light-gray);border-radius:8px;transition:all .3s ease}.add-on-item:hover{border-color:var(--primary-green);box-shadow:0 2px 8px #10b9811a}.add-on-info{flex:1}.add-on-info h4{margin:0 0 .5rem;color:var(--charcoal);font-size:1.1rem}.add-on-info p{margin:0 0 .5rem;color:var(--medium-gray);font-size:.9rem;line-height:1.4}.add-on-price{font-weight:600;color:var(--primary-green);font-size:.9rem}.add-on-availability{margin-top:.5rem;font-size:.8rem}.add-on-availability .available{color:var(--primary-green);font-weight:600}.add-on-availability .unavailable{color:#e74c3c;font-weight:600}.add-on-controls{display:flex;align-items:center;gap:.75rem}.quantity-btn{width:32px;height:32px;border:2px solid var(--primary-green);background:#fff;color:var(--primary-green);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.quantity-btn:hover:not(:disabled){background:var(--primary-green);color:#fff}.quantity-btn:disabled{border-color:var(--light-gray);color:var(--light-gray);cursor:not-allowed}.quantity{font-weight:600;color:var(--charcoal);min-width:24px;text-align:center}.reservation-footer{padding:1.5rem;background:var(--light-gray);border-top:2px solid var(--medium-gray);flex-shrink:0}.reservation-summary{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:2px solid var(--light-gray)}.summary-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.9rem}.summary-item:last-child{margin-bottom:0}.summary-item.total{font-weight:600;font-size:1.1rem;color:var(--charcoal);padding-top:.75rem;border-top:2px solid var(--light-gray);margin-top:.75rem}.collapsible-total{display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;cursor:pointer}.collapsible-total:hover{background-color:var(--light-gray);border-radius:4px;padding:.5rem;margin:-.5rem}.expand-icon{font-size:1.2rem;font-weight:700;color:var(--primary-green);margin-left:.5rem}.pricing-breakdown-details{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--light-gray);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}.reservation-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.reservation-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.error-message{background:#fee2e2;border:2px solid #ef4444;color:#dc2626;padding:1rem;border-radius:8px;margin:1rem 1.5rem;text-align:center;font-weight:600}.payment-step{padding:2rem}.payment-step .step-header{text-align:center;margin-bottom:2rem}.payment-step .step-header h3{color:var(--charcoal);margin-bottom:.5rem}.payment-step .step-header p{color:var(--charcoal);opacity:.7}.pricing-summary{background:var(--light-gray);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.pricing-summary h4{color:var(--charcoal);margin-bottom:1rem;font-size:1.2rem}.pricing-details{display:flex;flex-direction:column;gap:.75rem}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.1)}.pricing-row.total{font-size:1.1rem;padding-top:1rem;border-top:2px solid var(--primary-green);margin-top:.5rem}.cancellation-policy{background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.policy-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.policy-header svg{color:#d97706;flex-shrink:0}.policy-header h4{margin:0;color:#d97706;font-size:1.1rem;font-weight:600}.policy-content{color:#92400e}.policy-list{margin:0;padding-left:1.5rem;line-height:1.8}.policy-list li{margin-bottom:.75rem}.policy-list li:last-child{margin-bottom:0}.policy-list strong{color:#78350f;font-weight:600}.payment-step form{display:flex;flex-direction:column;gap:1.5rem}.payment-step .step-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.payment-step .step-actions button{flex:1;max-width:200px}@media (max-width: 768px){.payment-step{padding:1rem}.payment-step .step-actions{flex-direction:column}.payment-step .step-actions button{max-width:none}}@media (max-width: 768px){.reservation-form-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0}.reservation-form-modal.embedded{width:100%;height:100%;max-height:100%}.form-grid{grid-template-columns:1fr;gap:1rem}.step-header{flex-direction:column;align-items:flex-start;gap:.5rem}.step-header h3{font-size:1.25rem}.add-on-item{flex-direction:column;align-items:stretch;gap:1rem}.add-on-controls{justify-content:center}.reservation-actions{flex-direction:column}.reservation-actions .btn{width:100%;justify-content:center}}@media (max-width: 480px){.reservation-content{padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.reservation-footer,.reservation-summary{padding:1rem}.step-indicators{gap:.5rem}.step-indicator{width:28px;height:28px;font-size:.8rem}}.confirmation-screen{text-align:center;padding:40px 20px}.confirmation-icon{margin-bottom:20px}.confirmation-screen h3{color:var(--deep-forest);font-size:1.5em;margin-bottom:30px}.confirmation-details{background:var(--light-gray);border-radius:8px;padding:20px;margin-bottom:30px;text-align:left}.confirmation-details p{margin:8px 0;font-size:1em}.confirmation-message{color:var(--charcoal);line-height:1.6}.confirmation-message p{margin:10px 0}:root{--primary-green: #2d5016;--secondary-green: #4a7c59;--primary-blue: #2d5016;--accent-gold: #d4af37;--warm-cream: #f7f3e9;--deep-forest: #1a3d0a;--lake-blue: #4a90a4;--soft-white: #fefefe;--charcoal: #2c2c2c;--light-gray: #f5f5f5;--success-green: #22c55e;--warning-orange: #f59e0b;--error-red: #ef4444;--font-primary: "Inter", sans-serif;--font-display: "Playfair Display", serif;--section-padding: 5rem 0;--container-padding: 0 1.5rem;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .08);--shadow-medium: 0 8px 30px rgba(0, 0, 0, .12);--shadow-strong: 0 15px 50px rgba(0, 0, 0, .15)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{font-family:var(--font-primary);line-height:1.6;color:var(--charcoal);background-color:var(--soft-white)}.preserve-whitespace{white-space:pre-wrap;word-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:1rem;font-size:1.1rem;line-height:1.7}.container{max-width:1200px;margin:0 auto;padding:var(--container-padding)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;border:none;border-radius:8px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;font-size:1rem;min-height:48px}.btn-primary{background:linear-gradient(135deg,var(--primary-green),var(--secondary-green))!important;color:var(--soft-white)!important;box-shadow:var(--shadow-soft)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{background:transparent;color:var(--primary-green);border:2px solid var(--primary-green)}.btn-secondary:hover{background:var(--primary-green);color:var(--soft-white)}.btn-accent{background:var(--accent-gold);color:var(--charcoal)}.btn-accent:hover{background:#b8941f;transform:translateY(-2px)}.section{padding:var(--section-padding)}.section-dark{background:var(--deep-forest);color:var(--soft-white)}.section-dark h2,.section-dark h3,.section-dark p,.section-dark .section-subtitle{color:var(--soft-white)!important}.section-light{background:var(--light-gray)}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.text-center{text-align:center}.text-accent{color:var(--accent-gold)}.text-accent-hero{color:var(--deep-forest)}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mb-5{margin-bottom:3rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-5{margin-top:3rem}@media (max-width: 768px){:root{--section-padding: 3rem 0;--container-padding: 0 1rem}.btn{padding:.875rem 1.5rem;font-size:.95rem}}.reservations-section{margin-bottom:2rem}.reservations-table tr.active{background-color:#f0fdf4;border-left:4px solid var(--primary-green)}.reservations-table tr.past{opacity:.7}.status-indicator{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-indicator.active{background-color:#dcfce7;color:var(--primary-green)}.status-indicator.upcoming{background-color:#dbeafe;color:#3b82f6}.status-indicator.past{background-color:#f3f4f6;color:var(--medium-gray)}.reservation-management{padding:2rem;max-width:1400px;margin:0 auto}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--light-gray)}.management-header h2{color:var(--deep-forest);margin:0;font-size:1.8rem}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--light-gray);border-radius:8px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem;min-width:200px}.search-input{flex:1;padding:.5rem;border:1px solid var(--medium-gray);border-radius:4px;font-size:.9rem}.filter-select{padding:.5rem;border:1px solid var(--medium-gray);border-radius:4px;font-size:.9rem;background:#fff;min-width:150px}.reservations-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.reservations-table th{background:var(--deep-forest);color:#fff;padding:1rem;text-align:left;font-weight:600;font-size:.9rem}.reservations-table td{padding:1rem;border-bottom:1px solid var(--light-gray);vertical-align:top}.reservations-table tr:hover{background:var(--light-gray)}.reservation-number{font-family:monospace;font-weight:600;color:var(--deep-forest)}.guest-info{display:flex;flex-direction:column;gap:.25rem}.guest-email{font-size:.8rem;color:var(--medium-gray)}.lot-number{font-weight:600;color:var(--deep-forest)}.date-info{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.nights{font-size:.8rem;color:var(--medium-gray);font-style:italic}.total-amount{font-weight:600;color:var(--deep-forest)}.total-info{display:flex;flex-direction:column;gap:.25rem}.balance-due{font-size:.8rem;color:#ff9800;font-weight:600;background:#fff3e0;padding:.25rem .5rem;border-radius:4px;border:1px solid #ff9800}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize;color:inherit}.status-badge.bg-green-100{background-color:#dcfce7;color:#166534}.status-badge.bg-yellow-100{background-color:#fef3c7;color:#92400e}.status-badge.bg-red-100{background-color:#fee2e2;color:#991b1b}.status-badge.bg-gray-100{background-color:#f3f4f6;color:#374151}.payment-status{font-size:.8rem;font-weight:600;text-transform:capitalize}.payment-status.paid{color:var(--success-green)}.payment-status.unpaid{color:var(--error-red)}.payment-info{display:flex;flex-direction:column;gap:.25rem}.amount-paid{font-size:.8rem;color:var(--medium-gray);font-style:italic}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--medium-gray);background:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--light-gray);border-color:var(--deep-forest)}.btn-icon.danger{color:var(--error-red);border-color:var(--error-red)}.btn-icon.danger:hover{background:var(--error-red);color:#fff}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid var(--light-gray);border-top:4px solid var(--deep-forest);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-state h3{color:var(--error-red);margin-bottom:1rem}.no-results{padding:3rem;text-align:center;color:var(--medium-gray);font-style:italic}.detail-section{background:var(--light-gray);padding:1.5rem;border-radius:8px}.detail-section h4{color:var(--deep-forest);margin:0 0 1rem;font-size:1.1rem;border-bottom:1px solid var(--medium-gray);padding-bottom:.5rem}.detail-item label{font-weight:600;color:var(--charcoal);font-size:.9rem}.detail-item span{color:var(--medium-gray)}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:95vw;max-height:95vh;width:100%;overflow-y:auto;position:relative;display:flex;flex-direction:column}.admin-form-modal{max-width:none!important;width:95vw!important;height:90vh!important;min-width:1200px!important}.modal-content.admin-form-modal{max-width:none!important;width:95vw!important}.details-modal{max-width:1000px;width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--light-gray);background:var(--light-gray);margin:0 -2rem -2rem}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--light-gray);background:var(--light-gray);border-radius:8px 8px 0 0}.modal-header h3{margin:0;color:var(--deep-forest);font-size:1.5rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--medium-gray);padding:.25rem;border-radius:4px;transition:all .2s ease}.modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto}.reservation-details{display:flex;flex-direction:column;gap:2rem}.detail-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;border:1px solid var(--light-gray)}.detail-section h4{margin:0 0 1rem;color:var(--deep-forest);font-size:1.2rem;border-bottom:2px solid var(--primary-blue);padding-bottom:.5rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-weight:600;color:var(--medium-gray);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:var(--deep-forest);font-size:1rem}.pricing-breakdown{display:flex;flex-direction:column;gap:.5rem}.pricing-row.total{font-weight:600;font-size:1.1rem;color:var(--deep-forest);border-top:2px solid var(--primary-blue);margin-top:.5rem;padding-top:1rem}.loading-message{display:flex;justify-content:center;align-items:center;padding:2rem;text-align:center}.loading-message p{color:var(--medium-gray);font-size:1.1rem}.header-actions{display:flex;align-items:center;gap:1rem}.view-toggle{display:flex;background:var(--light-gray);border-radius:8px;padding:.25rem;gap:.25rem}.toggle-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border:none;background:var(--light-gray);border-radius:6px;cursor:pointer;transition:all .2s ease;color:var(--medium-gray)}.toggle-btn:hover{background:var(--medium-gray);color:#fff}.toggle-btn.active{background:var(--deep-forest);color:#fff;box-shadow:0 2px 4px #0003}.calendar-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--light-gray);border-bottom:1px solid var(--medium-gray)}.calendar-header h3{margin:0;color:var(--deep-forest);font-size:1.2rem}.calendar-header .btn{padding:.5rem 1rem;font-size:1rem}.calendar-grid{display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--deep-forest);color:#fff}.weekday{padding:.75rem;text-align:center;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:grid;grid-template-columns:repeat(7,calc(14.2857% + .1px));gap:0;background:#fff}.calendar-day{min-height:120px;background:#fff;padding:0;display:flex;flex-direction:column;position:relative;border:none;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty{background:#f8f9fa}.day-number{font-weight:600;color:var(--deep-forest);margin-bottom:.25rem;font-size:.9rem;padding:.5rem .5rem 0;position:relative;z-index:1}.reservations{flex:1;display:flex;flex-direction:column;gap:.25rem;overflow:visible;padding:0;margin:0 -.5rem;width:calc(100% + 1rem)}.reservation-item{background:var(--primary-blue);color:#fff;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-item:hover{background:var(--deep-forest);transform:scale(1.02)}.reservation-item.confirmed{background:#dcfce7;color:#166534}.reservation-item.pending{background:#fef3c7;color:#92400e}.reservation-item.cancelled{background:#fee2e2;color:#991b1b}.reservation-item.single-day{border-radius:6px!important;margin:0 .5rem}.reservation-item.span-start{border-radius:6px 0 0 6px!important;margin-right:0!important;margin-left:.5rem;position:relative;z-index:2;border-right:none!important}.reservation-item.span-start.half-day{width:50%!important;margin-left:50%!important}.reservation-item.span-end{border-radius:0 6px 6px 0!important;margin-left:0!important;margin-right:.5rem;position:relative;z-index:2;border-left:none!important}.reservation-item.span-end.half-day{width:50%!important;margin-right:50%!important}.reservation-item.span-middle{border-radius:0!important;margin:0!important;position:relative;z-index:1;border-left:none!important;border-right:none!important}.reservation-item.span-start,.reservation-item.span-middle,.reservation-item.span-end{height:2.5rem!important;min-height:2.5rem!important;max-height:2.5rem!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;padding:.25rem .5rem!important;box-sizing:border-box!important;width:100%!important;overflow:visible!important}.reservation-item.span-start{position:relative;overflow:visible!important}.reservation-item.span-start .guest-name,.reservation-item.span-start .lot-number{display:block!important;position:relative;z-index:10;white-space:nowrap;overflow:visible}.reservation-item.span-middle .guest-name,.reservation-item.span-middle .lot-number,.reservation-item.span-end .guest-name,.reservation-item.span-end .lot-number{display:none!important}.reservation-item.empty-slot{min-height:2.5rem!important;background:transparent!important;border:none!important;margin:0!important;padding:0!important;visibility:hidden}.guest-name{display:block;font-weight:600;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;line-height:1}.lot-number{display:block;font-size:.7rem;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1}@media (max-width: 768px){.reservation-management{padding:1rem}.management-header{flex-direction:column;gap:1rem;align-items:stretch}.filters-section{flex-direction:column;gap:1rem}.filter-group{min-width:auto}.reservations-table-container{overflow-x:auto}.reservations-table{min-width:800px}.action-buttons{flex-direction:column;gap:.25rem}.detail-grid{grid-template-columns:1fr}.modal-overlay{padding:1rem}.modal-content{max-width:95vw;max-height:95vh}.modal-header{padding:1rem}.modal-header h3{font-size:1.2rem}.modal-body{padding:1rem;max-height:80vh}.detail-section{padding:1rem}.detail-section h4{font-size:1rem}.header-actions{flex-direction:column;gap:.5rem;align-items:stretch}.view-toggle{justify-content:center}.calendar-day{min-height:80px;padding:.25rem}.reservation-item{font-size:.7rem;padding:.125rem .25rem}.guest-name{font-size:.7rem}.lot-number{font-size:.6rem}}@media (max-width: 480px){.reservations-table th,.reservations-table td{padding:.5rem;font-size:.8rem}.guest-info,.date-info{font-size:.8rem}.status-badge{font-size:.7rem;padding:.2rem .4rem}}.admin-reservation-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:none!important;margin:0!important;overflow:hidden;display:flex;flex-direction:column;height:100%;width:100%!important}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--deep-forest);color:#fff}.form-header h3{margin:0;font-size:1.2rem}.close-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease}.close-btn:hover{background:#ffffff1a}.admin-form{padding:2rem;flex:1;overflow-y:auto}.form-sections{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.form-section{background:var(--light-gray);padding:1.5rem;border-radius:8px}.pricing-section,.status-section{grid-column:1 / -1}.form-section h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--deep-forest);font-size:1rem;border-bottom:1px solid var(--medium-gray);padding-bottom:.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-weight:600;color:var(--charcoal);font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--medium-gray);border-radius:4px;font-size:.9rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--deep-forest);box-shadow:0 0 0 2px #2d50161a}.form-group input.error,.form-group select.error{border-color:var(--error-red)}.error-text{color:var(--error-red);font-size:.8rem;margin-top:.25rem}.add-ons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.add-on-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid var(--medium-gray);border-radius:4px}.add-on-info{display:flex;flex-direction:column;gap:.25rem}.add-on-name{font-weight:600;color:var(--charcoal)}.add-on-price{color:var(--deep-forest);font-weight:600}.add-on-controls{display:flex;align-items:center;gap:.5rem}.add-on-controls button{width:32px;height:32px;border:1px solid var(--medium-gray);background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .2s ease}.add-on-controls button:hover:not(:disabled){background:var(--deep-forest);color:#fff;border-color:var(--deep-forest)}.add-on-controls button:disabled{opacity:.5;cursor:not-allowed}.add-on-controls span{min-width:24px;text-align:center;font-weight:600}.pricing-breakdown{background:#fff;padding:1rem;border-radius:4px;border:1px solid var(--medium-gray)}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--light-gray)}.pricing-row:last-child{border-bottom:none}.pricing-row.total{border-top:2px solid var(--deep-forest);font-weight:600;font-size:1.1rem;color:var(--deep-forest);margin-top:.5rem;padding-top:1rem}.pricing-row.payment-status{border-top:1px solid var(--light-gray);margin-top:.5rem;padding-top:.5rem;font-weight:600}.pricing-row.payment-status.fully-paid{color:#4caf50;background:#e8f5e8;padding:.5rem;border-radius:4px;border:1px solid #4caf50}.pricing-row.payment-status.not-fully-paid{color:#ff9800;background:#fff3e0;padding:.5rem;border-radius:4px;border:1px solid #ff9800}.pricing-row.balance-info{border-top:1px solid var(--light-gray);margin-top:.5rem;padding-top:.5rem;color:var(--charcoal)}.pricing-row.balance-due{font-weight:600;font-size:1.1rem;color:#d32f2f;background:#ffebee;padding:.5rem;border-radius:4px;margin-top:.5rem}.balance-actions{margin-top:1rem;text-align:center}.generate-payment-btn{background:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease}.generate-payment-btn:hover{background:#45a049;transform:translateY(-1px)}.generate-payment-btn:active{transform:translateY(0)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--light-gray)}.form-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary{background:var(--medium-gray);color:var(--charcoal)}.btn-secondary:hover{background:var(--charcoal);color:#fff}.btn-primary{background:var(--deep-forest);color:#fff}.btn-primary:hover:not(:disabled){background:var(--charcoal)}.error-message{background:#fee;color:var(--error-red);padding:1rem;border-radius:4px;border:1px solid #fcc;margin-bottom:1rem}@media (max-width: 1200px){.form-sections{grid-template-columns:1fr}}@media (max-width: 768px){.admin-reservation-form{margin:1rem;max-width:none}.form-header,.admin-form{padding:1rem}.form-row,.add-ons-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%;justify-content:center}}@media (max-width: 480px){.form-section{padding:1rem}.form-group input,.form-group select{padding:.5rem}.add-on-item{flex-direction:column;gap:1rem;align-items:stretch}.add-on-controls{justify-content:center}}.for-sale-subscription{padding:2rem;max-width:800px;margin:0 auto}.subscription-header{margin-bottom:2rem}.subscription-header h3{color:var(--charcoal);margin:0 0 .5rem;font-size:1.8rem}.subscription-header p{color:var(--medium-gray);margin:0;font-size:.95rem}.subscription-card{background:#fff;border:1px solid var(--light-gray);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000000d}.subscription-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:2rem}.lot-info h4{color:var(--charcoal);margin:0 0 .5rem;font-size:1.2rem}.lot-info p{color:var(--medium-gray);margin:0;font-size:.9rem}.subscription-status{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.subscription-dates{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.date-item{display:flex;align-items:center;gap:.5rem;color:var(--medium-gray);font-size:.85rem}.no-subscription{display:flex;align-items:center;gap:.5rem;color:var(--medium-gray);font-size:.9rem}.subscription-actions{display:flex;justify-content:flex-end;gap:1rem}.subscription-details{background:var(--light-gray);border-radius:8px;padding:1.5rem}.subscription-details h4{color:var(--charcoal);margin:0 0 1rem;font-size:1.1rem}.subscription-details ul{margin:0;padding-left:1.5rem;color:var(--medium-gray)}.subscription-details li{margin-bottom:.5rem;font-size:.9rem}.subscription-payment-modal .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.subscription-payment-modal .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.subscription-payment-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--light-gray);background:var(--light-gray);border-radius:12px 12px 0 0}.subscription-payment-modal .modal-header h3{margin:0;color:var(--charcoal);font-size:1.3rem;font-weight:600}.subscription-payment-modal .modal-close{background:none;border:none;font-size:1.5rem;color:var(--medium-gray);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.subscription-payment-modal .modal-close:hover{background:var(--medium-gray);color:#fff}.subscription-payment-modal .modal-body{padding:2rem}.subscription-info{background:var(--light-gray);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.subscription-info h4{color:var(--charcoal);margin:0 0 .5rem;font-size:1.1rem}.subscription-info p{color:var(--medium-gray);margin:0 0 .5rem;font-size:.9rem}.subscription-info p:last-child{margin-bottom:0}.subscription-payment-form{display:flex;flex-direction:column;gap:1.5rem}.payment-element-container{padding:1rem;border:1px solid var(--light-gray);border-radius:8px;background:#fff}.subscription-payment-form .form-actions{display:flex;justify-content:flex-end;gap:1rem}.subscription-payment-form .error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem}.subscription-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--medium-gray)}.subscription-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--light-gray);border-top:3px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 768px){.for-sale-subscription{padding:1rem}.subscription-info{flex-direction:column;gap:1rem}.subscription-status,.subscription-dates{align-items:flex-start}.subscription-actions{justify-content:stretch}.subscription-actions .btn{flex:1}.subscription-payment-form .form-actions{flex-direction:column}.subscription-payment-form .form-actions .btn{width:100%}}@media (max-width: 480px){.subscription-header h3{font-size:1.5rem}.subscription-card,.subscription-payment-modal .modal-body{padding:1.5rem}}.owner-directory{padding:2rem;max-width:1200px;margin:0 auto}.directory-header{margin-bottom:3rem}.header-content{display:flex;align-items:center;gap:1.5rem}.back-button{display:flex;align-items:center;gap:.5rem;background:var(--primary-green);color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0}.back-button:hover{background:var(--charcoal);transform:translateY(-1px)}.header-text{text-align:left;flex:1}.header-text h2{color:var(--charcoal);margin:0 0 .5rem;font-size:2rem}.header-text p{color:var(--medium-gray);margin:0;font-size:1.1rem}.my-entry-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:3rem;box-shadow:0 2px 8px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 1rem;background:var(--primary-green);border-radius:8px;margin:-2rem -2rem 1.5rem}.section-header h3{color:var(--soft-white)!important;margin:0;font-size:1.4rem}.section-actions{display:flex;gap:.75rem}.directory-entry{background:#fff;border:1px solid var(--light-gray);border-radius:8px;padding:1.5rem;margin-bottom:1rem;transition:all .2s ease}.directory-entry:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.directory-entry.my-entry{border:2px solid var(--primary-green);background:linear-gradient(135deg,#f8fffe,#fff)}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:nowrap}.entry-header h4{color:var(--charcoal);margin:0;font-size:1.2rem;font-weight:600}.lot-numbers{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0;overflow:visible;position:relative}.lot-badge{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;display:inline-block;white-space:nowrap;flex-shrink:0;position:relative;z-index:1}.entry-details{display:flex;flex-direction:column;gap:1rem}.detail-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:center}.detail-item{display:flex;align-items:center;gap:.5rem;color:var(--medium-gray);font-size:.9rem;min-height:1.5rem}.detail-item svg{color:var(--primary-green);flex-shrink:0;width:16px;height:16px}.detail-item a{color:var(--primary-green);text-decoration:none;transition:color .2s ease}.detail-item a:hover{color:var(--charcoal);text-decoration:underline}.detail-item .comments{font-style:italic;color:var(--medium-gray);grid-column:1 / -1;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--light-gray)}.detail-item.full-width{grid-column:1 / -1}.spouse-row{background:#22c55e0d;padding:.75rem;border-radius:6px;border-left:3px solid var(--primary-green)}.info-row{background:#00000005;padding:.75rem;border-radius:6px}.directory-form{background:var(--light-gray);border-radius:8px;padding:2rem;margin-top:1rem}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;background:var(--primary-green);border-radius:8px;color:#fff}.form-header h4{color:#fff;margin:0;font-size:1.2rem;font-weight:600}.form-header .btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.form-header .btn:hover{background:#ffffff4d;border-color:#ffffff80}.form-content{display:flex;flex-direction:column;gap:1.5rem}.form-help-text{font-size:.85rem;color:var(--medium-gray);margin-bottom:.75rem;font-style:italic}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--medium-gray);border-radius:6px;font-size:.95rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.error-text{color:#dc2626;font-size:.8rem;margin-top:.25rem}.lot-input-group{display:flex;gap:.5rem;align-items:center}.lot-input-group input{flex:1}.btn-small{padding:.5rem;font-size:.8rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--medium-gray)}.directory-list-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.search-box{position:relative;display:flex;align-items:center;background:#fff;border:1px solid var(--medium-gray);border-radius:8px;padding:.5rem 1rem;min-width:300px}.search-box svg{color:var(--medium-gray);margin-right:.5rem}.search-box input{border:none;outline:none;flex:1;font-size:.95rem}.search-box input::placeholder{color:var(--medium-gray)}.empty-state h4{color:var(--charcoal);margin:0 0 .5rem;font-size:1.2rem}.owner-directory-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--medium-gray)}.owner-directory-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--light-gray);border-top:3px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:2rem;color:#dc2626;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.9rem;text-decoration:underline}@media (max-width: 768px){.owner-directory{padding:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-actions{width:100%;justify-content:flex-start}.entry-header{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-row{grid-template-columns:1fr;gap:.5rem}.spouse-row,.info-row{padding:.5rem}.form-row{grid-template-columns:1fr}.search-box{min-width:auto;width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}@media (max-width: 480px){.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-text h2{font-size:1.6rem}.back-button{width:100%;justify-content:center}.my-entry-section,.directory-list-section,.directory-form{padding:1.5rem}.lot-input-group{flex-direction:column;align-items:stretch}.lot-input-group .btn{width:100%}}.owner-blocks-page{min-height:100vh;background:var(--light-gray);display:flex;flex-direction:column;align-items:center}.page-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.page-title{display:flex;align-items:center;gap:1rem}.page-title h1{color:var(--primary-green);margin:0;font-size:2rem;font-weight:700}.page-actions{display:flex;gap:1rem}.page-content{max-width:1200px!important;margin:0 auto!important;padding:0 2rem!important;width:100%!important;flex:1}.owner-blocks{padding:2rem 0!important;max-width:1200px!important;margin:0 auto!important;width:100%!important}.owner-blocks-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.owner-blocks-header h2{color:var(--charcoal);margin:0 0 .5rem;font-size:1.8rem}.owner-blocks-header p{color:var(--medium-gray);margin:0;font-size:.95rem}.owner-blocks-header .btn{flex-shrink:0}.info-message{display:flex;align-items:center;gap:.75rem;padding:1.5rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;margin-bottom:2rem}.info-message svg{flex-shrink:0}.empty-state h3{color:var(--charcoal);margin:0 0 .5rem;font-size:1.3rem}.empty-state p{margin:0;font-size:.95rem}.blocks-section{margin-bottom:2rem}.section-title{font-size:1.25rem;font-weight:600;color:var(--charcoal);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.owner-blocks-list{display:grid;gap:1rem}.owner-block-card{background:#fff;border:1px solid var(--light-gray);border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.owner-block-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.owner-block-card.active{border-color:var(--primary-green);background:linear-gradient(135deg,#f0fdf4,#fff)}.owner-block-card.past{opacity:.7;border-color:var(--medium-gray)}.block-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.block-info h4{color:var(--charcoal);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.block-dates{display:flex;align-items:center;gap:.5rem;color:var(--medium-gray);font-size:.9rem;margin-bottom:.5rem}.active-indicator{display:flex;align-items:center;gap:.5rem;color:var(--primary-green);font-size:.85rem;font-weight:500}.upcoming-indicator{display:flex;align-items:center;gap:.5rem;color:#3b82f6;font-size:.85rem;font-weight:500}.past-indicator{display:flex;align-items:center;gap:.5rem;color:var(--medium-gray);font-size:.85rem;font-weight:500}.block-actions{display:flex;gap:.5rem}.block-reason{padding:.75rem;background:var(--light-gray);border-radius:6px;font-size:.9rem;color:var(--charcoal)}.block-reason strong{color:var(--charcoal)}.owner-blocks .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.owner-blocks .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.owner-blocks .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--light-gray);background:var(--light-gray);border-radius:12px 12px 0 0}.owner-blocks .modal-header h3{margin:0;color:var(--charcoal);font-size:1.3rem;font-weight:600}.owner-blocks .modal-close{background:none;border:none;font-size:1.5rem;color:var(--medium-gray);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.owner-blocks .modal-close:hover{background:var(--medium-gray);color:#fff}.owner-block-form{padding:2rem}.owner-block-form .form-group{margin-bottom:1.5rem}.owner-block-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.owner-block-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--charcoal)}.owner-block-form input,.owner-block-form select,.owner-block-form textarea{width:100%;padding:.75rem;border:1px solid var(--light-gray);border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.owner-block-form input:focus,.owner-block-form select:focus,.owner-block-form textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.owner-block-form input.error,.owner-block-form select.error,.owner-block-form textarea.error{border-color:#ef4444}.owner-block-form .error-text{display:block;color:#ef4444;font-size:.8rem;margin-top:.25rem}.owner-block-form .error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;margin-bottom:1rem}.owner-block-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--light-gray)}@media (max-width: 768px){.page-header-content{flex-direction:column;align-items:stretch;gap:1rem;padding:0 1rem}.page-title{flex-direction:column;align-items:flex-start;gap:.5rem}.page-actions{justify-content:center}.page-content{padding:0 1rem}.owner-blocks{padding:1rem 0}.owner-blocks-header{flex-direction:column;align-items:stretch;gap:1rem}.owner-blocks-header .btn{align-self:flex-start}.block-header{flex-direction:column;gap:1rem}.block-actions{align-self:stretch;justify-content:flex-end}.owner-block-form .form-row{grid-template-columns:1fr}.owner-block-form .form-actions{flex-direction:column}.owner-block-form .form-actions .btn{width:100%}}@media (max-width: 480px){.owner-blocks-header h2{font-size:1.5rem}.owner-block-card,.owner-block-form{padding:1rem}}.admin-hoa-documents-page,.owner-hoa-documents-page{min-height:100vh;background:var(--light-gray)}.owner-portal-header{background:var(--primary-green);padding:2rem 0;margin-bottom:2rem}.owner-portal-header .header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.owner-portal-header .header-center h1{color:var(--soft-white)!important;margin:0 0 .5rem;font-size:2rem}.owner-portal-header .header-center p{color:var(--soft-white)!important;margin:0;opacity:.9}.hoa-documents-content{padding:2rem 0}.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:1rem;color:var(--medium-gray);z-index:1}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--light-gray);border-radius:8px;font-size:.9rem;background:#fff;transition:border-color .2s ease}.actions-section{display:flex;gap:1rem;flex-wrap:wrap}.documents-by-category{display:flex;flex-direction:column;gap:1.5rem}.category-section{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.category-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--primary-green);cursor:pointer;transition:background-color .2s ease}.category-header:hover{background:var(--secondary-green)}.category-info{display:flex;align-items:center;gap:.75rem}.category-info h3{margin:0;color:var(--soft-white)!important;font-size:1.2rem;font-weight:600}.document-count{color:var(--medium-gray);font-size:.9rem;background:#fff;padding:.25rem .75rem;border-radius:12px}.category-documents{padding:1.5rem}.no-documents{text-align:center;padding:3rem 2rem;color:var(--medium-gray)}.no-documents svg{color:var(--light-gray);margin-bottom:1rem}.no-documents p{margin:0;font-size:.95rem}.documents-list{display:flex;flex-direction:column;gap:1rem}.document-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;background:var(--light-gray);border-radius:8px;transition:all .2s ease}.document-item:hover{background:#e5e7eb;transform:translateY(-1px)}.document-info{flex:1}.document-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.document-title span{font-weight:600;color:var(--charcoal);font-size:1rem}.category-badge{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.document-details{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.9rem;color:var(--medium-gray)}.document-description{font-size:.9rem;color:var(--charcoal);line-height:1.5}.document-actions{display:flex;gap:.5rem;flex-shrink:0}.search-results{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--light-gray)}.search-results h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.2rem}@media (max-width: 768px){.documents-header{flex-direction:column;align-items:stretch}.search-section{min-width:auto}.actions-section{justify-content:center}.category-header{flex-direction:column;align-items:stretch;gap:1rem}.category-info{justify-content:space-between}.category-actions{justify-content:center}.document-item{flex-direction:column;gap:1rem}.document-actions{align-self:stretch;justify-content:center}.document-details{flex-direction:column;gap:.25rem}}@media (max-width: 480px){.hoa-documents-content{padding:1rem 0}.category-header,.category-documents,.document-item{padding:1rem}.actions-section{flex-direction:column}.actions-section .btn{width:100%}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--light-gray);background:var(--light-gray);border-radius:12px 12px 0 0}.modal-header h3{margin:0;color:var(--charcoal);font-size:1.3rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--medium-gray);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:var(--medium-gray);color:#fff}.category-form,.document-form{padding:2rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--charcoal)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--light-gray);border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.form-group small{display:block;margin-top:.25rem;color:var(--medium-gray);font-size:.8rem}.current-file-info{background:var(--light-gray);padding:.5rem;border-radius:4px;margin-bottom:.5rem;border-left:3px solid var(--primary-green)}.current-file-info small{color:var(--charcoal);font-weight:500;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--light-gray)}@media (max-width: 768px){.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.modal-header{padding:1rem 1.5rem}.category-form,.document-form{padding:1.5rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.ownership-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.ownership-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:10rem 0 4rem;text-align:center;margin-top:0}.hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-subtitle{font-size:1.25rem;margin-bottom:3rem;opacity:.95;max-width:800px;margin-left:auto;margin-right:auto}.hero-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.stat{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:#fbbf24;text-shadow:0 2px 4px rgba(0,0,0,.2)}.stat-label{display:block;font-size:.9rem;opacity:.9;margin-top:.5rem}.ownership-nav{background:#fff;border-bottom:1px solid var(--light-gray);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000000d}.tab-navigation{display:flex;justify-content:center;gap:0}.tab-button{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;background:transparent;color:var(--medium-gray);font-weight:500;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;position:relative}.tab-button:hover{color:var(--primary-green);background:#f8fafc}.tab-button.active{color:var(--primary-green);border-bottom-color:var(--primary-green);background:#f8fafc}.tab-button.active:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-green)}.ownership-content{padding:3rem 0}.tab-panel{max-width:1200px;margin:0 auto}.overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.overview-main h2{color:var(--charcoal);margin-bottom:1.5rem;font-size:2rem}.lead{font-size:1.1rem;color:var(--medium-gray);margin-bottom:1.5rem;line-height:1.6}.overview-main p{margin-bottom:1.5rem;line-height:1.6;color:var(--charcoal)}.benefits-section{margin-top:2rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d}.benefits-section h3{color:var(--charcoal);margin-bottom:1.5rem;font-size:1.5rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.benefit-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px;border-left:3px solid var(--primary-green)}.benefit-icon{color:var(--primary-green);flex-shrink:0}.overview-sidebar{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d}.info-card h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.25rem}.status-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--medium-gray)}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:.5rem 0;border-bottom:1px solid #f1f5f9;color:var(--medium-gray)}.feature-list li:last-child{border-bottom:none}.pricing-content h2{color:var(--charcoal);margin-bottom:1.5rem;font-size:2rem;text-align:center}.costs-section{margin:3rem 0}.costs-section h3{color:var(--charcoal);margin-bottom:2rem;font-size:1.5rem;text-align:center}.costs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.cost-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border-left:4px solid var(--primary-green)}.cost-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.cost-header h4{color:var(--charcoal);margin:0;font-size:1.1rem}.cost-amount{text-align:right}.amount{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-green)}.frequency{display:block;font-size:.8rem;color:var(--medium-gray)}.cost-description{color:var(--medium-gray);margin:0;line-height:1.5}.revenue-section{margin-top:3rem}.revenue-card{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:2rem;border-radius:12px;text-align:center}.revenue-card h3{margin-bottom:1.5rem;font-size:1.5rem}.revenue-highlight{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.revenue-percentage{font-size:3rem;font-weight:700;color:#fbbf24;text-shadow:0 2px 4px rgba(0,0,0,.2)}.revenue-text{font-size:1.1rem;font-weight:500}.amenities-content h2{color:var(--charcoal);margin-bottom:1.5rem;font-size:2rem;text-align:center}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.amenity-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.amenity-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.amenity-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff}.amenity-card h3{color:var(--charcoal);margin-bottom:.75rem;font-size:1.25rem}.amenity-card p{color:var(--medium-gray);line-height:1.5;margin:0}.additional-amenities{margin-top:3rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d}.additional-amenities h3{color:var(--charcoal);margin-bottom:1.5rem;font-size:1.5rem;text-align:center}.amenities-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.amenity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px;border-left:3px solid var(--primary-green)}.amenity-item svg{color:var(--primary-green);flex-shrink:0}.process-content h2{color:var(--charcoal);margin-bottom:1.5rem;font-size:2rem;text-align:center}.process-steps{margin:3rem 0}.process-step{display:flex;gap:2rem;margin-bottom:3rem;align-items:flex-start}.step-number{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #2d50164d}.step-content{flex:1;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d}.step-content h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.5rem}.step-content p{color:var(--medium-gray);line-height:1.6;margin-bottom:1.5rem}.cta-section{background:#fff;padding:3rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;text-align:center;margin-top:3rem}.cta-section h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.5rem}.cta-section p{color:var(--medium-gray);margin-bottom:2rem;font-size:1.1rem}.cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@media (max-width: 768px){.ownership-hero{padding:8rem 0 3rem}.hero-content h1{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-stats{flex-direction:column;gap:1.5rem}.tab-navigation{flex-wrap:wrap}.tab-button{flex:1;min-width:120px}.overview-grid{grid-template-columns:1fr;gap:2rem}.benefits-grid,.costs-grid,.amenities-grid,.amenities-list{grid-template-columns:1fr}.process-step{flex-direction:column;text-align:center}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:100%;max-width:300px}}@media (max-width: 480px){.ownership-hero{padding:7rem 0 2rem}.ownership-content{padding:2rem 0}.tab-button{padding:.75rem 1rem;font-size:.9rem}.step-content{padding:1.5rem}.cta-section{padding:2rem}}.balance-payment-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem 1rem}.payment-container{max-width:800px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow:hidden}.payment-header{background:var(--deep-forest);color:#fff;padding:2rem;position:relative}.back-btn{position:absolute;top:1rem;left:1rem;background:#ffffff1a;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s ease}.back-btn:hover{background:#fff3}.payment-header h1{margin:0;font-size:2rem;text-align:center}.payment-content{padding:2rem}.reservation-summary{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid var(--deep-forest)}.reservation-summary h2{margin:0 0 1rem;color:var(--deep-forest);font-size:1.5rem}.reservation-info{display:grid;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e9ecef}.info-row:last-child{border-bottom:none}.info-row span:first-child{font-weight:600;color:var(--charcoal)}.info-row span:last-child{color:var(--deep-forest)}.payment-section{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:2rem}.payment-section h2{margin:0 0 1.5rem;color:var(--deep-forest);font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.payment-section h2:before{content:"💳";font-size:1.2rem}.amount-display{background:#e8f5e8;border:2px solid #4caf50;border-radius:8px;padding:1.5rem;margin-bottom:2rem;text-align:center}.amount-label{display:block;font-size:1.1rem;color:var(--charcoal);margin-bottom:.5rem}.amount-value{display:block;font-size:2.5rem;font-weight:700;color:#4caf50}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.payment-element-container{padding:1rem;border:2px solid #e9ecef;border-radius:8px;background:#fafafa}.pay-button{background:#4caf50;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.pay-button:hover:not(:disabled){background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.pay-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.payment-message{padding:1rem;border-radius:6px;font-weight:500;text-align:center}.payment-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.payment-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:2rem}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--deep-forest);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-icon,.error-container h2{color:#dc3545;margin-bottom:1rem}.btn-primary{background:var(--deep-forest);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s ease}.btn-primary:hover{background:var(--charcoal)}@media (max-width: 768px){.balance-payment-page{padding:1rem .5rem}.payment-container{margin:0;border-radius:0}.payment-header{padding:1.5rem 1rem}.payment-header h1{font-size:1.5rem;margin-top:2rem}.payment-content{padding:1rem}.reservation-info{gap:.5rem}.info-row{flex-direction:column;align-items:flex-start;gap:.25rem}.amount-value{font-size:2rem}.pay-button{padding:.875rem 1.5rem;font-size:1.1rem}}.mls-pdf-generator{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.pdf-controls{background:var(--charcoal);padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000004d}.download-pdf-btn{background:var(--primary-green);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.download-pdf-btn:hover:not(:disabled){background:var(--secondary-green);transform:translateY(-2px)}.download-pdf-btn:disabled{background:#666;cursor:not-allowed;transform:none}.close-btn{background:#666;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.close-btn:hover{background:#888}.mls-pdf-content{background:#fff;margin:0 auto;max-width:8.5in;min-height:11in;padding:.5in;overflow:visible;font-family:Arial,sans-serif;line-height:1.4;color:#333;page-break-inside:avoid;box-sizing:border-box}.mls-pdf-content *{font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mls-pdf-content .icon,.mls-pdf-content [class*=icon-],.mls-pdf-content svg{display:inline-block;vertical-align:middle}.mls-section{margin-bottom:2rem;page-break-inside:avoid;break-inside:avoid;display:block}.mls-description-section,.mls-amenities-section{page-break-inside:auto;break-inside:auto}.description-content{line-height:1.6;word-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;-ms-hyphens:auto}.amenity-item{line-height:1.5;margin-bottom:.5rem;word-wrap:break-word}.mls-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid var(--primary-green);page-break-after:avoid;break-after:avoid}.mls-logo h1{color:var(--primary-green);font-size:2rem;margin:0;font-weight:700}.mls-subtitle{color:#666;font-size:1.1rem;margin:.25rem 0 0;font-style:italic}.mls-listing-info{text-align:right;font-size:.9rem}.listing-number,.listing-date{margin-bottom:.25rem}.mls-property-section{margin-bottom:2rem;page-break-inside:avoid}.mls-property-section h2{color:var(--primary-green);font-size:1.5rem;margin-bottom:1rem;border-bottom:2px solid var(--primary-green);padding-bottom:.5rem;page-break-after:avoid;break-after:avoid}.mls-property-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}.property-main{display:flex;flex-direction:column;gap:1rem}.property-image{width:100%;height:300px;overflow:hidden;border-radius:8px;border:2px solid #ddd;page-break-inside:avoid;break-inside:avoid}.main-property-image{width:100%;height:100%;object-fit:cover;page-break-inside:avoid;break-inside:avoid}.no-image-placeholder{width:100%;height:100%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#666;font-size:1.1rem}.property-highlights h3{color:var(--primary-green);font-size:1.8rem;margin:0 0 .5rem}.price-highlight{font-size:2rem;font-weight:700;color:var(--primary-green);margin-bottom:1rem}.property-size{font-size:1.1rem;color:#666}.property-details h4{color:var(--primary-green);font-size:1.2rem;margin-bottom:1rem}.detail-grid{display:flex;flex-direction:column;gap:.75rem}.detail-item{display:flex;flex-wrap:wrap;gap:.5rem}.detail-item strong{min-width:120px;color:#333}.detail-item.amenities ul{margin:.5rem 0 0 1rem;padding:0}.detail-item.amenities li{margin-bottom:.25rem}.mls-description-section{margin-bottom:2rem;page-break-inside:avoid}.mls-description-section h3{color:var(--primary-green);font-size:1.3rem;margin-bottom:1rem}.description-content{background:#f9f9f9;padding:1rem;border-radius:8px;border-left:4px solid var(--primary-green);line-height:1.6;white-space:pre-wrap}.mls-amenities-section{margin-bottom:2rem;page-break-inside:avoid}.mls-amenities-section h3{color:var(--primary-green);font-size:1.3rem;margin-bottom:1rem}.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.amenity-item{padding:.5rem;background:#f9f9f9;border-radius:4px;border-left:3px solid var(--primary-green)}.mls-contact-section{margin-bottom:2rem;background:#f9f9f9;padding:1.5rem;border-radius:8px;border:2px solid var(--primary-green);page-break-inside:avoid}.mls-contact-section h3{color:var(--primary-green);font-size:1.3rem;margin-bottom:1rem}.contact-details{display:flex;flex-direction:column;gap:.5rem}.contact-item{font-size:1.1rem}.contact-item strong{color:#333;min-width:80px;display:inline-block}.mls-images-section{margin-bottom:2rem;page-break-inside:avoid}.mls-images-section h3{color:var(--primary-green);font-size:1.3rem;margin-bottom:1rem}.additional-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.additional-image{width:100%;height:150px;overflow:hidden;border-radius:8px;border:2px solid #ddd;page-break-inside:avoid;break-inside:avoid}.additional-image img{width:100%;height:100%;object-fit:cover;page-break-inside:avoid;break-inside:avoid}.mls-footer{margin-top:2rem;padding-top:1rem;border-top:2px solid var(--primary-green);text-align:center}.footer-content p{margin:.25rem 0}.footer-content p:first-child{font-size:1.2rem;font-weight:700;color:var(--primary-green)}.disclaimer{font-size:.8rem;color:#666;font-style:italic;margin-top:1rem!important}.mls-pdf-content *{box-sizing:border-box}.mls-pdf-content h1,.mls-pdf-content h2,.mls-pdf-content h3,.mls-pdf-content h4{page-break-after:avoid;break-after:avoid;orphans:3;widows:3}.mls-pdf-content p,.mls-pdf-content div{orphans:2;widows:2}@media (max-width: 768px){.mls-pdf-content{padding:.25in}.mls-property-grid{grid-template-columns:1fr;gap:1rem}.amenities-grid{grid-template-columns:1fr}.additional-images-grid{grid-template-columns:repeat(2,1fr)}.mls-header{flex-direction:column;gap:1rem}.mls-listing-info{text-align:left}}@media (max-width: 480px){.mls-pdf-content{padding:.125in}.mls-logo h1,.price-highlight{font-size:1.5rem}.additional-images-grid{grid-template-columns:1fr}}.cancellation-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#fef2f2}.header-content{display:flex;align-items:center;gap:.75rem}.warning-icon{color:#dc2626;flex-shrink:0}.modal-header h2{color:#dc2626;font-size:1.5rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.modal-content{padding:1.5rem}.reservation-details,.refund-calculation,.cancellation-reason{margin-bottom:2rem}.reservation-details h3,.refund-calculation h3,.cancellation-reason h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.detail-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9fafb;border-radius:6px;font-size:.875rem;color:#374151}.detail-item svg{color:#6b7280;flex-shrink:0}.calculation-details{background:#f9fafb;border-radius:8px;padding:1rem}.policy-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.policy-name{font-weight:600;color:#374151}.days-info{font-size:.875rem;color:#6b7280}.amount-breakdown{display:flex;flex-direction:column;gap:.5rem}.amount-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem}.amount-row.fee{color:#dc2626}.amount-row.total{font-weight:600;font-size:1rem;padding-top:.75rem;border-top:1px solid #e5e7eb;color:#059669}.cancellation-reason textarea{width:100%;padding:.75rem;border:2px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s ease;box-sizing:border-box}.cancellation-reason textarea:focus{outline:none;border-color:#3b82f6}.cancellation-reason textarea::placeholder{color:#9ca3af}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:6px;font-size:.875rem;margin-bottom:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.cancel-button,.confirm-cancel-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.cancel-button:hover:not(:disabled){background:#e5e7eb}.confirm-cancel-button{background:#dc2626;color:#fff}.confirm-cancel-button:hover:not(:disabled){background:#b91c1c}.cancel-button:disabled,.confirm-cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.cancellation-modal{margin:1rem;max-height:calc(100vh - 2rem)}.modal-header,.modal-content{padding:1rem}.detail-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.cancel-button,.confirm-cancel-button{width:100%}}.check-in-page{min-height:100vh;background:var(--soft-white);padding-bottom:3rem}.check-in-header{background:var(--primary-green);color:var(--soft-white);padding:2rem 0;margin-bottom:2rem}.check-in-header .header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.check-in-header .header-center{flex:1;text-align:center}.check-in-header h1{margin:0 0 .5rem;color:var(--soft-white)}.check-in-header p{margin:0;opacity:.9}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:var(--charcoal)}.success-message{text-align:center;padding:3rem;background:var(--soft-white);border-radius:12px;box-shadow:var(--shadow)}.success-message svg{color:var(--primary-green);margin-bottom:1rem}.success-message h2{color:var(--primary-green);margin-bottom:1rem}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:8px;border:1px solid #fcc;margin-bottom:2rem}.check-in-form{max-width:800px;margin:0 auto;background:var(--soft-white);padding:2rem;border-radius:12px;box-shadow:var(--shadow)}.form-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--light-gray)}.form-section:last-of-type{border-bottom:none}.form-section h2{color:var(--primary-green);margin-bottom:1.5rem;font-size:1.5rem}.form-select,.form-textarea{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.reservation-info{background:var(--light-gray);padding:1.5rem;border-radius:8px;margin-top:1rem}.info-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:var(--charcoal)}.info-item:last-child{margin-bottom:0}.info-item svg{color:var(--primary-green);flex-shrink:0}.camera-section{text-align:center}.camera-container{position:relative;max-width:100%;margin:0 auto}.camera-video{width:100%;max-width:500px;height:auto;border-radius:8px;background:var(--charcoal);display:block;margin:0 auto 1rem}.camera-controls{display:flex;justify-content:center;gap:1rem}.photo-preview{text-align:center}.photo-preview img{max-width:100%;max-height:400px;border-radius:8px;margin-bottom:1rem;box-shadow:var(--shadow)}.signature-section{text-align:center;margin-bottom:1rem}.signature-canvas{width:100%;max-width:600px;height:200px;border:2px solid var(--light-gray);border-radius:8px;background:#fff;cursor:crosshair;display:block;margin:0 auto 1rem;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;position:relative;z-index:1}.signature-instructions{color:var(--charcoal);margin-bottom:1rem;font-size:.9rem;text-align:center}.signature-preview{text-align:center}.success-text{color:var(--primary-green);font-weight:500;margin:0}.form-actions{text-align:center;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--light-gray)}.btn-large{padding:1rem 2rem;font-size:1.1rem}@media (max-width: 768px){.check-in-header .header-content{flex-direction:column;text-align:center}.check-in-form{padding:1.5rem}.camera-video{max-width:100%}.signature-canvas{width:100%;height:150px}}.manager-guest-management-page{min-height:100vh;background:var(--warm-cream);padding-top:120px}.manager-portal-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:2rem 0;margin-bottom:2rem}.error-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #fecaca}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--light-gray);border-top-color:var(--primary-green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.guest-management-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-input{width:100%;padding:.75rem 1rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--primary-green)}.guest-count{display:flex;align-items:center;gap:.5rem;background:var(--primary-green);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;white-space:nowrap}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.empty-state svg{color:var(--light-gray);margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--charcoal);font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:var(--charcoal);opacity:.7}.guests-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.guests-table{width:100%;border-collapse:collapse}.guests-table thead{background:var(--primary-green);color:#fff}.guests-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.guests-table tbody tr{border-bottom:1px solid var(--light-gray);transition:background-color .2s ease}.guests-table tbody tr:hover{background:var(--warm-cream)}.guests-table tbody tr:last-child{border-bottom:none}.guests-table td{padding:1rem;color:var(--charcoal)}.guest-name{font-weight:600;color:var(--charcoal)}.guest-name-link{background:none;border:none;font-weight:600;color:var(--primary-green);cursor:pointer;text-align:left;padding:0;font-size:inherit;font-family:inherit;transition:color .2s ease;text-decoration:underline;text-decoration-color:transparent;transition:color .2s ease,text-decoration-color .2s ease}.guest-name-link:hover{color:var(--secondary-green);text-decoration-color:var(--secondary-green)}.guest-email,.guest-phone,.guest-address{display:flex;align-items:center;gap:.5rem;color:var(--charcoal)}.guest-email svg,.guest-phone svg,.guest-address svg{color:var(--primary-green);flex-shrink:0}@media (max-width: 768px){.manager-guest-management-page{padding-top:100px}.header-content{flex-direction:column;text-align:center}.header-left,.header-right,.header-left button,.header-right button{width:100%}.guest-management-controls{flex-direction:column;align-items:stretch}.search-section{min-width:100%}.guest-count{justify-content:center}.guests-table-container{overflow-x:auto}.guests-table{min-width:600px}.guests-table th,.guests-table td{padding:.75rem .5rem;font-size:.9rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.guest-reservations-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:2px solid var(--light-gray);background:var(--primary-green);color:#fff}.modal-header-content h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#fff}.modal-header-content .guest-email{margin:0;color:#ffffffe6;font-size:.9rem}.modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease}.modal-close:hover{background:#ffffff1a}.modal-body{padding:2rem;overflow-y:auto;flex:1}.reservations-list{display:flex;flex-direction:column;gap:2rem}.reservations-table-container{overflow-x:auto}.reservations-table{width:100%;border-collapse:collapse}.reservations-table thead{background:var(--primary-green);color:#fff}.reservations-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.reservations-table tbody tr{border-bottom:1px solid var(--light-gray);transition:background-color .2s ease}.reservations-table tbody tr:hover{background:var(--warm-cream)}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table td{padding:1rem;color:var(--charcoal)}.reservation-number{font-weight:600;color:var(--primary-green)}.lot-number{font-weight:500;color:var(--charcoal)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-confirmed{background:#dcfce7;color:#166534}.status-completed{background:#dbeafe;color:#1e40af}.status-cancelled{background:#fee2e2;color:#991b1b}.status-pending{background:#fef3c7;color:#92400e}.status-default{background:var(--light-gray);color:var(--charcoal)}.payment-status{font-weight:600;text-transform:capitalize}.payment-status.paid{color:#166534}.payment-status.unpaid{color:#991b1b}.reservations-summary{display:flex;gap:2rem;padding:1.5rem;background:var(--warm-cream);border-radius:8px;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;gap:.5rem}.summary-label{font-size:.9rem;color:var(--medium-gray);font-weight:500}.summary-value{font-size:1.25rem;font-weight:700;color:var(--primary-green)}@media (max-width: 768px){.guest-reservations-modal{max-width:95vw;max-height:95vh}.modal-header{padding:1rem 1.5rem;flex-direction:column;gap:1rem}.modal-header-content h2{font-size:1.2rem}.modal-body{padding:1rem}.reservations-table-container{overflow-x:auto}.reservations-table{min-width:700px}.reservations-table th,.reservations-table td{padding:.75rem .5rem;font-size:.85rem}.reservations-summary{flex-direction:column;gap:1rem}}.admin-arc-committee-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.committee-management{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.committee-section,.add-members-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--light-gray);background:#f8fafc}.section-header h2{color:var(--charcoal);font-size:1.25rem;font-weight:600;margin:0}.member-count,.available-count{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.committee-members-list{padding:1.5rem;max-height:500px;overflow-y:auto}.committee-member-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--light-gray);border-radius:8px;margin-bottom:1rem;transition:box-shadow .2s ease}.committee-member-card:hover{box-shadow:0 2px 8px #0000001a}.committee-member-card:last-child{margin-bottom:0}.member-info{flex:1}.member-name{color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:.25rem}.member-details{display:flex;gap:1rem;align-items:center}.lot-number{background:var(--primary-green);color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.email{color:#64748b;font-size:.875rem}.member-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.assigned-date{color:#64748b;font-size:.75rem}.remove-btn{background:#fee2e2;color:#dc2626;border:none;border-radius:6px;padding:.5rem;cursor:pointer;transition:background-color .2s ease}.remove-btn:hover{background:#fecaca}.remove-btn svg{width:1rem;height:1rem}.search-box{position:relative;padding:1.5rem;border-bottom:1px solid var(--light-gray)}.search-icon{position:absolute;left:2rem;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:#64748b}.search-input{width:100%;padding:.75rem .75rem .75rem 3rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.available-owners-list{padding:1.5rem;max-height:500px;overflow-y:auto}.owner-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--light-gray);border-radius:8px;margin-bottom:1rem;transition:box-shadow .2s ease}.owner-card:hover{box-shadow:0 2px 8px #0000001a}.owner-card:last-child{margin-bottom:0}.owner-info{flex:1}.owner-name{color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:.25rem}.owner-details{display:flex;gap:1rem;align-items:center}.add-btn{background:var(--primary-green);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}.add-btn:hover{background:var(--secondary-green)}.add-btn svg{width:1rem;height:1rem}.empty-state{text-align:center;padding:3rem 2rem;color:#64748b}.empty-icon{width:3rem;height:3rem;color:var(--light-gray);margin-bottom:1rem}.empty-state h3{color:var(--charcoal);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-state p{font-size:.875rem;line-height:1.5}.loading{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:#64748b}@media (max-width: 1024px){.committee-management{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.back-button{position:static;margin-bottom:1rem;align-self:flex-start}.page-title{padding-top:0;font-size:2rem}.page-subtitle{font-size:1rem}.page-content{padding:2rem 1rem}.section-header{flex-direction:column;gap:.5rem;align-items:flex-start}.committee-member-card,.owner-card{flex-direction:column;align-items:flex-start;gap:1rem}.member-meta{align-items:flex-start;width:100%}.member-details,.owner-details{flex-direction:column;align-items:flex-start;gap:.5rem}.add-btn{width:100%;justify-content:center}.search-box{padding:1rem}.search-icon{left:1.5rem}.search-input{padding-left:2.5rem}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-content{padding:1.5rem .5rem}.section-header,.committee-members-list,.available-owners-list{padding:1rem}.search-box{padding:.75rem}.empty-state{padding:2rem 1rem}}.arc-submission-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-content{max-width:800px;margin:0 auto;padding:3rem 2rem}.arc-submission-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.arc-submission-form{padding:2rem}.form-section{margin-bottom:2.5rem}.form-section:last-of-type{margin-bottom:0}.form-section h3{color:var(--charcoal);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.form-group label{display:block;color:var(--charcoal);font-weight:500;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.form-input:disabled{background-color:#f8fafc;color:#64748b;cursor:not-allowed}.form-textarea{resize:vertical;min-height:120px}.form-help{color:#64748b;font-size:.875rem;margin-top:.25rem}.file-upload-area{border:2px dashed var(--light-gray);border-radius:8px;padding:2rem;text-align:center;transition:border-color .2s ease;margin-bottom:1.5rem}.file-upload-area:hover{border-color:var(--primary-green)}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;color:var(--charcoal)}.upload-icon{width:2rem;height:2rem;color:var(--primary-green)}.file-upload-label span{font-weight:500}.file-upload-label small{color:#64748b;font-size:.875rem}.attachments-list{margin-top:1.5rem}.attachments-list h4{color:var(--charcoal);font-size:1.125rem;font-weight:600;margin-bottom:1rem}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f8fafc;border:1px solid var(--light-gray);border-radius:8px;margin-bottom:.5rem}.attachment-info{display:flex;align-items:center;gap:.75rem}.attachment-icon{width:1.5rem;height:1.5rem;color:var(--primary-green)}.attachment-details{display:flex;flex-direction:column}.attachment-name{font-weight:500;color:var(--charcoal)}.attachment-size{font-size:.875rem;color:#64748b}.remove-attachment-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.remove-attachment-btn:hover{background-color:#fee2e2}.message{display:flex;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.message.warning{background-color:#fef3c7;color:#d97706;border:1px solid #fed7aa}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--light-gray)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.back-button{position:static;margin-bottom:1rem;align-self:flex-start}.page-title{padding-top:0;font-size:2rem}.page-subtitle{font-size:1rem}.page-content{padding:2rem 1rem}.arc-submission-form{padding:1.5rem}.form-section h3{font-size:1.25rem}.file-upload-area{padding:1.5rem}.attachment-item{flex-direction:column;align-items:flex-start;gap:.5rem}.attachment-info{width:100%}.remove-attachment-btn{align-self:flex-end}.form-actions{flex-direction:column}.btn{width:100%}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-content{padding:1.5rem .5rem}.arc-submission-form,.file-upload-area{padding:1rem}.file-upload-label{font-size:.875rem}}.arc-requests-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-content{max-width:1000px;margin:0 auto;padding:3rem 2rem}.request-meta{display:flex;gap:1rem;align-items:center}.review-notes{padding:1.5rem;background:#f8fafc}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.back-button{position:static;margin-bottom:1rem;align-self:flex-start}.page-title{padding-top:0;font-size:2rem}.page-subtitle{font-size:1rem}.page-content{padding:2rem 1rem}.request-header{flex-direction:column;gap:1rem;align-items:flex-start}.request-status{align-self:flex-end}.request-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.attachments-grid{grid-template-columns:1fr}.empty-state{padding:3rem 1rem}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-content{padding:1.5rem .5rem}.request-header,.request-description,.request-attachments,.request-timeline,.review-notes{padding:1rem}.request-title{font-size:1.125rem}.empty-state{padding:2rem .5rem}.empty-icon{width:3rem;height:3rem}}.arc-review-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:4rem 0 2rem;text-align:center;margin-top:0}.back-button{position:absolute;top:.5rem;left:2rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;text-decoration:none;z-index:10}.back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.back-button svg{width:1rem;height:1rem}.page-title{font-size:3rem;font-weight:700;margin-bottom:1rem;padding-top:3rem}.page-subtitle{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.page-content{max-width:1200px;margin:0 auto;padding:3rem 2rem}.message{display:flex;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;margin-bottom:2rem;font-weight:500}.message.success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.message.error{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.message svg{width:1.25rem;height:1.25rem}.filter-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-icon{width:1.25rem;height:1.25rem;color:var(--primary-green)}.filter-select{padding:.5rem 1rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .2s ease}.request-count{background:var(--primary-green)!important;color:var(--soft-white)!important;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500}.loading,.error{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.error{color:var(--error-red);background:#fee2e2;border:1px solid #fecaca}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.empty-icon{width:4rem;height:4rem;color:var(--light-gray);margin-bottom:1.5rem}.empty-state h3{color:var(--charcoal);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.empty-state p{color:#64748b;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.arc-requests-list{display:flex;flex-direction:column;gap:1.5rem}.arc-request-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.arc-request-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a}.request-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--light-gray)}.request-title-section{flex:1}.request-title{color:var(--charcoal);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.request-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.owner-name{background:#e2e8f0;color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.lot-number{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.request-type{background:#f1f5f9;color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-icon{width:1.25rem;height:1.25rem}.status-icon.approved{color:var(--success-green)}.status-icon.denied{color:var(--error-red)}.status-icon.under-review,.status-icon.requires-changes{color:var(--warning-orange)}.status-icon.pending{color:var(--charcoal)}.status-text{font-weight:600;font-size:.875rem}.request-description{padding:1.5rem;border-bottom:1px solid var(--light-gray)}.request-description p{color:var(--charcoal);line-height:1.6;margin:0}.request-attachments{padding:1.5rem;border-bottom:1px solid var(--light-gray)}.request-attachments h4{color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:1rem}.attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.attachment-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f8fafc;border:1px solid var(--light-gray);border-radius:8px;cursor:pointer;transition:background-color .2s ease}.attachment-item:hover{background:#e2e8f0}.attachment-item svg{width:1.25rem;height:1.25rem;color:var(--primary-green);flex-shrink:0}.download-icon{margin-left:auto;opacity:.6}.attachment-name{font-size:.875rem;color:var(--charcoal);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-timeline{padding:1.5rem;border-bottom:1px solid var(--light-gray)}.timeline-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.timeline-item:last-child{margin-bottom:0}.timeline-icon{width:1.25rem;height:1.25rem;color:var(--primary-green);flex-shrink:0}.timeline-label{font-size:.875rem;font-weight:500;color:var(--charcoal)}.timeline-date{font-size:.75rem;color:#64748b}.review-notes{padding:1.5rem;background:#f8fafc;border-bottom:1px solid var(--light-gray)}.review-notes h4{color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:.75rem}.review-notes p{color:var(--charcoal);line-height:1.6;margin:0;font-style:italic}.request-actions{padding:1.5rem;display:flex;justify-content:flex-end}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:800px;width:95%;max-height:85vh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--light-gray);flex-shrink:0}.modal-header h3{color:var(--charcoal);font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background:#f1f5f9}.modal-body{padding:1.5rem;color:var(--charcoal);flex:1;overflow-y:auto;overflow-x:hidden;word-wrap:break-word}.review-request-info{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px}.review-request-info h4{color:var(--charcoal);font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.review-request-info p{color:var(--charcoal);margin-bottom:.5rem;font-size:.875rem}.review-request-info p:last-child{margin-bottom:0}.review-notes-section{margin-bottom:1.5rem}.review-notes-section label{display:block;color:var(--charcoal);font-weight:500;margin-bottom:.5rem}.review-notes-section textarea{color:var(--charcoal);background:#fff}.voting-status{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid var(--light-gray)}.voting-status h4{color:var(--charcoal);font-size:1rem;font-weight:600;margin:0 0 1rem}.votes-list{display:flex;flex-direction:column;gap:.75rem}.vote-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid var(--light-gray)}.voter-name{font-weight:500;color:var(--charcoal);min-width:120px}.vote-type{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;min-width:100px;text-align:center}.vote-type.approve{background:var(--success-green);color:#fff}.vote-type.deny{background:var(--error-red);color:#fff}.vote-type.require_changes{background:var(--warning-orange);color:#fff}.vote-date{color:#64748b;font-size:.875rem;margin-left:auto}.no-votes{color:#64748b;font-style:italic;text-align:center;margin:1rem 0}.review-textarea{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;resize:vertical;min-height:100px;transition:border-color .2s ease}.review-textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--light-gray);justify-content:center;flex-shrink:0;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.btn-secondary{background:#f1f5f9;color:var(--charcoal);border:1px solid var(--light-gray)}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-success:hover:not(:disabled){background:#15803d;transform:translateY(-1px)}.btn-warning{background:var(--warning-orange);color:#fff}.btn-warning:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.back-button{position:static;margin-bottom:1rem;align-self:flex-start}.page-title{padding-top:0;font-size:2rem}.page-subtitle{font-size:1rem}.page-content{padding:2rem 1rem}.filter-controls{flex-direction:column;gap:1rem;align-items:stretch}.filter-group{justify-content:center}.request-header{flex-direction:column;gap:1rem;align-items:flex-start}.request-status{align-self:flex-end}.request-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.attachments-grid{grid-template-columns:1fr}.request-actions{justify-content:center}.modal-overlay{padding:.5rem}.modal-content{max-width:100%;width:100%;max-height:95vh}.modal-actions{flex-direction:column}.btn{width:100%}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-content{padding:1.5rem .5rem}.request-header,.request-description,.request-attachments,.request-timeline,.review-notes,.request-actions{padding:1rem}.request-title{font-size:1.125rem}.filter-controls,.modal-header,.modal-body,.modal-actions{padding:1rem}}.board-requests-page{min-height:calc(100vh - var(--header-height));background-color:var(--soft-white)}.page-actions{margin-bottom:2rem;display:flex;justify-content:flex-end}.request-meta{display:flex;gap:1rem;flex-wrap:wrap}.admin-response{background:var(--light-gray);padding:1rem;border-radius:8px;margin-top:1rem;border-left:4px solid var(--primary-green)}.request-timeline{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--light-gray)}.timeline-item{display:flex;align-items:center;gap:.75rem}.timeline-icon{color:var(--primary-green);flex-shrink:0}.timeline-content{display:flex;flex-direction:column}.timeline-label{font-size:.85rem;color:var(--charcoal);opacity:.7}.timeline-date{font-size:.9rem;color:var(--charcoal)}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-close{background:none;border:none;cursor:pointer;color:var(--charcoal);padding:.25rem;display:flex;align-items:center;justify-content:center}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease}@media (max-width: 768px){.request-header{flex-direction:column}.request-status{align-self:flex-start}.page-title{font-size:2rem}}.admin-board-requests-page{min-height:calc(100vh - var(--header-height));background-color:var(--soft-white)}.page-content{max-width:1200px;margin:0 auto;padding:0 1.5rem 2rem}.filter-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-icon{color:var(--charcoal)}.filter-select{padding:.5rem 1rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:var(--primary-green)}.request-count{color:var(--charcoal);font-weight:500}.board-requests-list{display:flex;flex-direction:column;gap:1.5rem}.board-request-card{background:#fff;border:2px solid var(--light-gray);border-radius:12px;padding:1.5rem;transition:all .3s ease}.board-request-card:hover{border-color:var(--primary-green);box-shadow:0 4px 15px #2d50161a}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.request-title-section{flex:1;min-width:200px}.request-title{font-size:1.5rem;color:var(--charcoal);margin-bottom:.5rem}.request-meta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.owner-name,.owner-email{display:flex;align-items:center;gap:.25rem;font-size:.9rem;color:var(--charcoal);opacity:.8}.request-date{font-size:.9rem;color:var(--charcoal);opacity:.7}.request-status{display:flex;align-items:center;gap:.5rem}.status-icon{width:20px;height:20px}.status-text{font-weight:600;font-size:.9rem}.request-description{margin-bottom:1rem;color:var(--charcoal);line-height:1.6}.admin-response{background:var(--light-gray);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--primary-green)}.admin-response h4{color:var(--primary-green);margin-bottom:.5rem;font-size:1rem}.admin-response p{color:var(--charcoal);margin-bottom:.5rem}.response-date{font-size:.85rem;color:var(--charcoal);opacity:.7}.request-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--light-gray)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--charcoal)}.empty-icon{margin-bottom:1rem;opacity:.5}.empty-state h3{margin-bottom:.5rem;color:var(--charcoal)}.error-message{background:#fee;color:var(--error-red);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--error-red)}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--light-gray)}.modal-header h2{margin:0;color:var(--charcoal)}.modal-close{background:none;border:none;cursor:pointer;color:var(--charcoal);padding:.25rem;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center}.request-info{background:var(--light-gray);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.request-info h4{color:var(--charcoal);margin-bottom:.5rem}.request-info p{color:var(--charcoal);margin-bottom:.25rem;font-size:.9rem}.request-description-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.request-description-preview strong{display:block;margin-bottom:.5rem;color:var(--charcoal)}.request-description-preview p{color:var(--charcoal);opacity:.8;line-height:1.6}.form-group label{display:block;margin-bottom:.5rem;color:var(--charcoal);font-weight:500}.form-group input,.form-group textarea,.form-select{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media (max-width: 768px){.request-header{flex-direction:column}.request-status{align-self:flex-start}.page-title{font-size:2rem}.filter-controls{flex-direction:column;align-items:stretch}}.account-settings-page{min-height:calc(100vh - var(--header-height));background-color:var(--soft-white)}.page-header{background-color:var(--primary-green);color:var(--soft-white);padding:2rem 0;margin-bottom:2rem}.page-header-content{max-width:1200px;margin:0 auto;padding:0 1.5rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff1a;color:var(--soft-white);border:1px solid rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:8px;cursor:pointer;margin-bottom:1rem;transition:all .3s ease}.back-button:hover{background:#fff3}.page-title{font-size:2.5rem;margin-bottom:.5rem;color:var(--accent-gold)}.page-subtitle{font-size:1.1rem;opacity:.9}.page-content{max-width:800px;margin:0 auto;padding:0 1.5rem 2rem}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.alert-error{background:#fee;color:var(--error-red);border:1px solid var(--error-red)}.alert-success{background:#efe;color:var(--success-green);border:1px solid var(--success-green)}.settings-sections{display:flex;flex-direction:column;gap:2rem}.settings-section{background:#fff;border:2px solid var(--light-gray);border-radius:12px;padding:2rem;transition:all .3s ease}.settings-section:hover{border-color:var(--primary-green);box-shadow:0 4px 15px #2d50161a}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--light-gray)}.section-header h2{margin:0;color:var(--charcoal);font-size:1.5rem}.section-header svg{color:var(--primary-green)}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:var(--charcoal);font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%;gap:0}.input-icon-container{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.password-input-wrapper .input-icon{color:var(--charcoal);opacity:.5;width:20px;height:20px;flex-shrink:0}.password-input-wrapper input{width:100%;padding-left:3.25rem!important;padding-right:3rem!important;box-sizing:border-box;position:relative;z-index:1}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;color:var(--charcoal);opacity:.6;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.password-toggle:hover{opacity:1}.form-help{font-size:.85rem;color:var(--charcoal);opacity:.7}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.page-title{font-size:2rem}.settings-section{padding:1.5rem}}.events-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:4rem 0 2rem;text-align:center}.page-header-content{max-width:1200px;margin:0 auto;padding:0 2rem}.page-title{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.events-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.view-toggle{display:flex;background:#fff;border-radius:8px;padding:4px;box-shadow:0 2px 4px #0000001a}.toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500}.toggle-btn:hover{background:#f1f5f9;color:var(--charcoal)}.toggle-btn.active{background:var(--primary-green);color:#fff;box-shadow:0 2px 4px #0000001a}.request-event-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-green);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.request-event-btn:hover{background:var(--secondary-green);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.calendar-view{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.nav-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.nav-btn:hover{background:var(--primary-green);color:#fff;transform:translateY(-1px)}.calendar-title{font-size:1.5rem;font-weight:600;color:var(--charcoal);margin:0}.calendar-grid{padding:1rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:1px}.weekday{padding:1rem;text-align:center;font-weight:600;color:#64748b;background:#f8fafc;border-radius:4px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.calendar-day{min-height:120px;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .2s ease;position:relative}.calendar-day:hover{background:#f8fafc}.calendar-day.today{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff}.calendar-day.today .day-number{color:#fff;font-weight:700}.calendar-day.empty{background:#f8fafc;cursor:default}.day-number{font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.day-events{display:flex;flex-direction:column;gap:2px}.event-indicator{background:var(--primary-green);color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-indicator:hover{background:var(--secondary-green);transform:scale(1.02)}.more-events{background:#64748b;color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500;text-align:center}.list-view{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.list-title{padding:1.5rem 2rem;margin:0;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:1.5rem;font-weight:600;color:var(--charcoal)}.events-list{padding:1rem}.event-card{display:flex;gap:1rem;padding:1.5rem;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;cursor:pointer;transition:all .2s ease;background:#fff}.event-card:hover{border-color:var(--primary-green);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;border-radius:8px;padding:1rem}.date-day{font-size:1.5rem;font-weight:700;line-height:1}.date-month{font-size:.875rem;font-weight:500;text-transform:uppercase}.event-details{flex:1}.event-title{font-size:1.25rem;font-weight:600;color:var(--charcoal);margin:0 0 .5rem}.event-meta{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.event-time,.event-location{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.875rem}.event-description{color:#64748b;margin:0;line-height:1.5}.event-image{width:120px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0}.event-image img{width:100%;height:100%;object-fit:cover}.no-events{text-align:center;padding:3rem;color:#64748b}.event-modal{max-width:600px;width:95%;max-height:80vh;overflow-y:auto}.event-detail-info{margin-bottom:1.5rem}.event-detail-info>div{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.event-detail-info strong{color:var(--charcoal);display:inline-block;min-width:80px}.event-detail-description p{margin:.5rem 0 0;line-height:1.6;color:#64748b}.event-detail-images h3{color:var(--charcoal);margin-bottom:1rem}.message{padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.loading,.error{text-align:center;padding:3rem;font-size:1.125rem;color:#64748b}.error{color:#dc2626}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.page-title{font-size:2rem}.page-content{padding:1rem}.events-controls{flex-direction:column;align-items:stretch}.view-toggle{justify-content:center}.calendar-header{padding:1rem}.calendar-title{font-size:1.25rem}.calendar-day{min-height:80px;padding:.5rem}.event-card{flex-direction:column}.event-date{flex-direction:row;justify-content:center;min-width:auto}.event-image{width:100%;height:200px}.event-modal{width:95%;margin:1rem}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-title{font-size:1.75rem}.toggle-btn{padding:.5rem 1rem;font-size:.875rem}.calendar-day{min-height:60px;padding:.25rem}.day-number{font-size:.875rem}.event-indicator{font-size:.625rem;padding:1px 4px}}.event-request-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-content{max-width:800px;margin:0 auto;padding:2rem}.request-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.event-request-form{padding:2rem}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:var(--charcoal);margin:0 0 1.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff}.image-upload-area{margin-bottom:1.5rem}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#f8fafc;text-align:center}.upload-label:hover{border-color:var(--primary-green);background:#f0fdf4}.upload-label.uploading{border-color:var(--primary-green);background:#f0fdf4;cursor:not-allowed;opacity:.7}.upload-label svg{color:var(--primary-green);margin-bottom:1rem}.upload-label span{font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.upload-label small{color:#64748b;font-size:.875rem}.uploaded-images{margin-top:1.5rem}.uploaded-images h3{font-size:1.125rem;font-weight:600;color:var(--charcoal);margin:0 0 1rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.image-preview{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;background:#fff}.image-preview img{width:100%;height:150px;object-fit:cover}.remove-image{position:absolute;top:.5rem;right:.5rem;background:#ef4444e6;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.remove-image:hover{background:#dc2626;transform:scale(1.1)}.image-info{padding:.75rem;background:#fff}.image-name{display:block;font-weight:500;color:var(--charcoal);font-size:.875rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{display:block;color:#64748b;font-size:.75rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.btn{padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.page-header-content{padding:0 1rem}.back-button{left:1rem;padding:.5rem .75rem;font-size:.875rem}.page-title{font-size:2rem;padding-top:2rem}.page-content{padding:1rem}.event-request-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.upload-label{padding:2rem 1rem}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-title{font-size:1.75rem;padding-top:1.5rem}.event-request-form{padding:1rem}.section-title{font-size:1.125rem}.images-grid{grid-template-columns:1fr}.image-preview img{height:200px}}.admin-events-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:4rem 0 2rem;position:relative}.page-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative}.back-button{position:absolute;top:.5rem;left:2rem;display:flex;align-items:center;gap:.5rem;background:#fff3;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;text-decoration:none}.back-button:hover{background:#ffffff4d;transform:translateY(-1px)}.page-title{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1);padding-top:3rem}.page-subtitle{font-size:1.125rem;opacity:.9;margin:0}.page-content{max-width:1200px;margin:0 auto;padding:2rem}.admin-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.tabs{display:flex;background:#fff;border-radius:8px;padding:4px;box-shadow:0 2px 4px #0000001a}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500}.tab:hover{background:#f1f5f9;color:var(--charcoal)}.tab.active{background:var(--primary-green);color:#fff;box-shadow:0 2px 4px #0000001a}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-primary:hover:not(:disabled){background:var(--secondary-green);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-secondary{background:#f1f5f9;color:#64748b;border:2px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#e2e8f0;color:var(--charcoal)}.btn-success{background:var(--success-green);color:#fff}.btn-success:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.btn-danger{background:var(--error-red);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.events-section,.requests-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.events-section h2,.requests-section h2{padding:1.5rem 2rem;margin:0;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:1.5rem;font-weight:600;color:var(--charcoal)}.events-list,.requests-list{padding:1rem}.event-card,.request-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;background:#fff;transition:all .2s ease}.event-card:hover,.request-card:hover{border-color:var(--primary-green);box-shadow:0 4px 8px #0000001a}.event-info,.request-info{flex:1}.event-title,.request-title{font-size:1.25rem;font-weight:600;color:var(--charcoal);margin:0 0 .5rem}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.event-meta,.request-meta{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.event-time,.event-location,.request-time,.request-requester{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.875rem}.event-date,.request-date{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.875rem;background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);padding:.5rem .75rem;border-radius:6px;font-weight:500}.event-description,.request-description{color:#64748b;margin:0;line-height:1.5}.event-actions,.request-actions{display:flex;flex-direction:column;gap:.5rem;margin-left:1rem}.status-badge.approved{background:#dcfce7;color:#166534}.status-badge.denied{background:#fef2f2;color:#dc2626}.request-card.pending{border-left:4px solid #f59e0b}.request-card.approved{border-left:4px solid var(--success-green)}.request-card.denied{border-left:4px solid var(--error-red)}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px #0000001a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.event-form-modal{max-width:700px}.request-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.modal-title{font-size:1.5rem;font-weight:600;color:var(--charcoal);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#e2e8f0;color:var(--charcoal)}.modal-body{padding:2rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #e2e8f0;background:#f8fafc}.event-form{display:flex;flex-direction:column;gap:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.request-detail-info{display:flex;flex-direction:column;gap:1.5rem}.request-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.request-detail-meta>div{display:flex;flex-direction:column;gap:.25rem}.request-detail-meta strong{color:var(--charcoal);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.request-detail-description,.request-detail-notes{padding:1rem;background:#f8fafc;border-radius:8px}.request-detail-description strong,.request-detail-notes strong{color:var(--charcoal);display:block;margin-bottom:.5rem}.request-detail-description p,.request-detail-notes p{margin:0;line-height:1.6;color:#64748b}.request-detail-images{padding:1rem;background:#f8fafc;border-radius:8px}.request-detail-images strong{color:var(--charcoal);display:block;margin-bottom:1rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.image-item{border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.image-item img{width:100%;height:120px;object-fit:cover}.message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.message.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.loading,.no-data{text-align:center;padding:3rem;font-size:1.125rem;color:#64748b}@media (max-width: 768px){.page-header{padding:3rem 0 1.5rem}.page-header-content{padding:0 1rem}.back-button{left:1rem;padding:.5rem .75rem;font-size:.875rem}.page-title{font-size:2rem;padding-top:2rem}.page-content{padding:1rem}.admin-controls{flex-direction:column;align-items:stretch}.tabs{justify-content:center}.event-card,.request-card{flex-direction:column;gap:1rem}.event-actions,.request-actions{flex-direction:row;margin-left:0;justify-content:flex-end}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.modal-header,.modal-body,.modal-actions{padding:1rem}.request-detail-meta{grid-template-columns:1fr}.images-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width: 480px){.page-header{padding:2.5rem 0 1rem}.page-title{font-size:1.75rem;padding-top:1.5rem}.tab,.btn{padding:.5rem 1rem;font-size:.875rem}.event-actions,.request-actions,.modal-actions{flex-direction:column}.images-grid{grid-template-columns:1fr}}.gallery-page{min-height:100vh;background:var(--soft-white)}.gallery-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:10rem 0 4rem;text-align:center}.gallery-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.gallery-hero-content p{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.gallery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:var(--charcoal)}.gallery-loading .spinning{animation:spin 1s linear infinite;margin-bottom:1rem}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;flex-wrap:wrap;gap:1rem}.category-filter{position:relative;display:flex;align-items:center}.category-filter select{padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.category-filter select:focus{outline:none;border-color:var(--primary-green)}.gallery-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.gallery-image{position:relative;height:250px;overflow:hidden}.gallery-uploader{font-size:.8rem;color:var(--medium-gray);font-style:italic}@media (max-width: 768px){.gallery-hero{padding:8rem 0 3rem}.gallery-hero-content h1{font-size:2rem}.gallery-hero-content p{font-size:1rem}.gallery-controls{flex-direction:column;align-items:stretch}.gallery-filters{flex-direction:column}.search-box input{width:100%}.gallery-content.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.gallery-content.list .gallery-item{flex-direction:column;height:auto}.gallery-content.list .gallery-image{width:100%;height:200px}.gallery-modal-content{flex-direction:column;max-width:95vw;max-height:95vh}.gallery-modal-info{width:100%;padding:1rem}}@media (max-width: 480px){.gallery-content.grid{grid-template-columns:1fr}.gallery-hero{padding:7rem 0 2rem}.gallery-hero-content h1{font-size:1.5rem}}.gallery-upload-page{min-height:100vh;background:var(--soft-white)}.gallery-upload-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:6rem 0 4rem;text-align:center;position:relative}.gallery-upload-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.gallery-upload-hero-content p{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.gallery-upload-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:var(--charcoal)}.gallery-upload-loading .spinning{animation:spin 1s linear infinite;margin-bottom:1rem}.gallery-upload-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin:2rem 0}.gallery-upload-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000001a}.form-section h3{color:var(--charcoal);font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.form-group label{display:block;font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.file-upload-area{margin-bottom:2rem}.message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin:1.5rem 0;font-weight:500}.form-actions{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--light-gray)}.upload-guidelines{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000001a;height:fit-content}.upload-guidelines h3{color:var(--charcoal);font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.upload-guidelines ul{list-style:none;padding:0;margin:0}.upload-guidelines li{padding:.75rem 0;border-bottom:1px solid var(--light-gray);color:var(--medium-gray);font-size:.9rem;line-height:1.5}.upload-guidelines li:last-child{border-bottom:none}.upload-guidelines li:before{content:"•";color:var(--primary-green);font-weight:700;margin-right:.75rem}@media (max-width: 768px){.gallery-upload-hero{padding:4rem 0 3rem}.gallery-upload-hero-content h1{font-size:2rem}.gallery-upload-hero-content p{font-size:1rem}.gallery-upload-content{grid-template-columns:1fr;gap:2rem}.gallery-upload-form{padding:1.5rem}.file-upload-label{padding:2rem 1rem}.file-item{flex-direction:column;align-items:flex-start;gap:.75rem}.file-info{width:100%}.remove-file-btn{align-self:flex-end}}@media (max-width: 480px){.gallery-upload-hero-content h1{font-size:1.5rem}.gallery-upload-form{padding:1rem}.file-upload-label{padding:1.5rem .5rem}}.admin-gallery-page{min-height:100vh;background:var(--soft-white)}.admin-gallery-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:6rem 0 4rem;text-align:center;position:relative}.admin-gallery-header-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.admin-gallery-header-content p{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.admin-gallery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:var(--charcoal)}.admin-gallery-loading .spinning{animation:spin 1s linear infinite;margin-bottom:1rem}.admin-gallery-content{margin:2rem 0}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;flex-wrap:wrap;gap:1rem}.gallery-filters{display:flex;gap:1rem;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:12px;color:var(--medium-gray);z-index:1}.search-box input{padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;width:250px;transition:border-color .3s ease}.search-box input:focus{outline:none;border-color:var(--primary-green)}.category-filter,.status-filter{position:relative;display:flex;align-items:center}.category-filter svg{position:absolute;left:12px;color:var(--medium-gray);z-index:1}.category-filter select,.status-filter select{padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.status-filter select{padding-left:1rem}.category-filter select:focus,.status-filter select:focus{outline:none;border-color:var(--primary-green)}.view-controls{display:flex;gap:.5rem}.view-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--light-gray);background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease}.view-btn:hover{border-color:var(--primary-green);background:var(--warm-cream)}.view-btn.active{border-color:var(--primary-green);background:var(--primary-green);color:#fff}.gallery-error{background:#fee;color:#c33;padding:1rem;border-radius:8px;margin:2rem 0;text-align:center}.message{padding:1rem;border-radius:8px;margin:1rem 0;font-weight:500}.message.warning{background:#ffc;color:#660;border:1px solid #ff9}.gallery-empty{text-align:center;padding:4rem 2rem;color:var(--medium-gray)}.gallery-empty svg{margin-bottom:1rem;opacity:.5}.gallery-empty h3{margin-bottom:.5rem;color:var(--charcoal)}.gallery-content.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin:2rem 0}.gallery-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.gallery-image{position:relative;height:250px;overflow:hidden;cursor:pointer}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover .gallery-image img{transform:scale(1.05)}.gallery-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay svg{color:#fff}.pending-badge{position:absolute;top:1rem;left:1rem;background:#f59e0b;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.featured-badge{position:absolute;top:1rem;right:1rem;background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.gallery-info{padding:1.5rem}.gallery-info h3{font-size:1.2rem;font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.gallery-description{color:var(--medium-gray);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.gallery-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem}.gallery-category{background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-weight:500}.gallery-date{color:var(--medium-gray)}.gallery-uploader{font-size:.8rem;color:var(--medium-gray);font-style:italic;margin-bottom:1rem}.gallery-actions{display:flex;gap:.5rem}.approve-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .3s ease}.approve-btn:hover{background:#059669}.delete-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .3s ease}.delete-btn:hover{background:#dc2626}.gallery-content.list{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.gallery-content.list .gallery-item{display:flex;height:200px}.gallery-content.list .gallery-image{width:300px;height:100%;flex-shrink:0}.gallery-content.list .gallery-info{flex:1;display:flex;flex-direction:column;justify-content:center}.admin-upload-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000001a;margin-top:3rem}.admin-upload-section h2{color:var(--charcoal);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.upload-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group label{font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-green)}.checkbox-group{margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:var(--charcoal)}.checkmark{width:20px;height:20px;border:2px solid var(--light-gray);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--primary-green);border-color:var(--primary-green)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-weight:700;font-size:12px}.file-upload-area{margin:1rem 0}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed var(--light-gray);border-radius:12px;background:var(--warm-cream);cursor:pointer;transition:all .3s ease;text-align:center}.file-upload-label:hover{border-color:var(--primary-green);background:#2d50160d}.file-upload-label svg{color:var(--primary-green);margin-bottom:1rem}.file-upload-label span{font-size:1.1rem;font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.file-upload-label small{color:var(--medium-gray);font-size:.9rem}.selected-files{margin-top:1.5rem}.selected-files h4{color:var(--charcoal);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.file-list{display:flex;flex-direction:column;gap:.75rem}.file-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--warm-cream);border-radius:8px;border:1px solid var(--light-gray)}.file-preview{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary-green);color:#fff;border-radius:8px}.file-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.file-name{font-weight:500;color:var(--charcoal);font-size:.9rem}.file-size{color:var(--medium-gray);font-size:.8rem}.remove-file-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fee;color:#c33;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease}.remove-file-btn:hover{background:#fcc;transform:scale(1.1)}.form-actions{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--light-gray)}.submit-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:var(--primary-green);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;justify-content:center}.submit-btn:hover:not(:disabled){background:var(--secondary-green);transform:translateY(-2px);box-shadow:0 4px 15px #2d50164d}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.submit-btn .spinning{animation:spin 1s linear infinite}.gallery-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.gallery-modal-content{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;position:relative}.gallery-modal-close{position:absolute;top:1rem;right:1rem;background:#00000080;color:#fff;border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .3s ease}.gallery-modal-close:hover{background:#000000b3}.gallery-modal-image{flex:1;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.gallery-modal-image img{max-width:100%;max-height:100%;object-fit:contain}.gallery-modal-info{width:400px;padding:2rem;overflow-y:auto}.gallery-modal-info h2{font-size:1.5rem;font-weight:600;color:var(--charcoal);margin-bottom:1rem}.gallery-modal-description{color:var(--medium-gray);line-height:1.6;margin-bottom:1.5rem}.gallery-modal-meta{display:flex;flex-direction:column;gap:.75rem}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-item strong{color:var(--charcoal);font-size:.9rem}.meta-item span{color:var(--medium-gray);font-size:.9rem}@media (max-width: 768px){.admin-gallery-header{padding:4rem 0 3rem}.admin-gallery-header-content h1{font-size:2rem}.admin-gallery-header-content p{font-size:1rem}.gallery-controls{flex-direction:column;align-items:stretch}.gallery-filters{flex-direction:column}.search-box input{width:100%}.gallery-content.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.gallery-content.list .gallery-item{flex-direction:column;height:auto}.gallery-content.list .gallery-image{width:100%;height:200px}.form-row{grid-template-columns:1fr}.gallery-modal-content{flex-direction:column;max-width:95vw;max-height:95vh}.gallery-modal-info{width:100%;padding:1rem}}@media (max-width: 480px){.gallery-content.grid{grid-template-columns:1fr}.admin-gallery-header-content h1{font-size:1.5rem}}.local-area-page{min-height:100vh;background:var(--soft-white)}.local-area-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:10rem 0 4rem;text-align:center}.local-area-hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.local-area-hero-content p{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.local-area-content{margin:2rem 0}.local-intro{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 15px #0000001a;text-align:center}.local-intro h2{color:var(--charcoal);font-size:2rem;font-weight:600;margin-bottom:1rem}.local-intro p{color:var(--medium-gray);font-size:1.1rem;line-height:1.6;max-width:800px;margin:0 auto}.local-section{background:#fff;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 15px #0000001a;overflow:hidden}.local-section .section-header{width:100%;background:var(--primary-green)!important;color:var(--accent-gold)!important;border:none;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;font-size:1.2rem;font-weight:600;box-sizing:border-box;min-height:60px;margin:0;text-align:left;position:relative;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle}.local-section .section-header h2{margin:0;padding:0;font-size:1.5rem;font-weight:600;color:var(--accent-gold)!important;line-height:1.4;display:flex;align-items:center;flex:1}.local-section .section-header:hover{background:var(--secondary-green)!important}.local-section .section-header svg{color:var(--accent-gold)!important;flex-shrink:0;margin-left:1rem}.section-content{padding:2rem}.business-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.business-card{background:var(--warm-cream);border-radius:12px;padding:1.5rem;border:1px solid var(--light-gray);transition:transform .3s ease,box-shadow .3s ease}.business-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.business-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.business-header h3{color:var(--charcoal);font-size:1.3rem;font-weight:600;margin:0;flex:1}.business-rating{display:flex;align-items:center;gap:.5rem}.rating{display:flex;align-items:center;gap:.25rem;background:var(--primary-green);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:500}.business-description{color:var(--medium-gray);font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.business-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.detail-item{display:flex;align-items:center;gap:.75rem;color:var(--charcoal);font-size:.9rem}.detail-item svg{color:var(--primary-green);flex-shrink:0}.detail-item a{color:var(--primary-green);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:.25rem;transition:color .3s ease}.detail-item a:hover{color:var(--secondary-green)}.business-features{margin-bottom:1.5rem}.business-features h4{color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:.5rem}.business-features ul{list-style:none;padding:0;margin:0}.business-features li{color:var(--medium-gray);font-size:.9rem;position:relative;padding:.25rem 0 .25rem 1rem}.business-features li:before{content:"•";color:var(--primary-green);font-weight:700;position:absolute;left:0}.business-category{display:flex;justify-content:flex-end}.category-tag{background:var(--light-gray);color:var(--charcoal);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.local-area-footer{background:#fff;border-radius:12px;padding:2rem;margin-top:2rem;box-shadow:0 4px 15px #0000001a;text-align:center}.local-area-footer h3{color:var(--charcoal);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.local-area-footer p{color:var(--medium-gray);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.contact-info{display:flex;flex-direction:column;gap:1rem;align-items:center}.contact-item{display:flex;align-items:center;gap:.75rem;color:var(--charcoal);font-size:1rem;font-weight:500}.contact-item svg{color:var(--primary-green)}@media (max-width: 768px){.local-area-hero{padding:8rem 0 3rem}.local-area-hero-content h1{font-size:2rem}.local-area-hero-content p{font-size:1rem}.local-intro{padding:1.5rem}.local-intro h2{font-size:1.5rem}.local-intro p{font-size:1rem}.local-section .section-header{padding:1rem 1.5rem;font-size:1rem;min-height:50px}.local-section .section-header h2{font-size:1.2rem;line-height:1.4}.section-content{padding:1.5rem}.business-grid{grid-template-columns:1fr;gap:1.5rem}.business-card{padding:1rem}.business-header{flex-direction:column;align-items:flex-start;gap:.5rem}.business-header h3{font-size:1.1rem}.contact-info{align-items:flex-start}.contact-item{font-size:.9rem}}@media (max-width: 480px){.local-area-hero{padding:7rem 0 2rem}.local-area-hero-content h1{font-size:1.5rem}.local-intro{padding:1rem}.local-section .section-header{padding:.75rem 1rem;min-height:45px}.local-section .section-header h2{font-size:1.1rem;line-height:1.4}.section-content{padding:1rem}.business-card{padding:.75rem}.business-header h3{font-size:1rem}.business-description{font-size:.9rem}.detail-item{font-size:.8rem}}.owner-statement-page{min-height:100vh;background:var(--soft-white)}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:2rem}.summary-card svg{color:var(--primary-green);flex-shrink:0}.reservations-table{overflow-x:auto;border-radius:8px;border:1px solid var(--light-gray)}.reservations-table table{width:100%;border-collapse:collapse;font-size:.9rem}.reservations-table th{background:var(--primary-green);color:#fff;padding:1rem .75rem;text-align:left;font-weight:600;font-size:.9rem}.reservations-table td{padding:.75rem;border-bottom:1px solid var(--light-gray);color:var(--charcoal)}.reservations-table tr:hover{background:var(--warm-cream)}.reservations-table .owner-share{font-weight:600;color:var(--primary-green)}@media (max-width: 768px){.statement-header{padding:8rem 0 3rem}.statement-header-content h1{font-size:2rem}.statement-header-content p{font-size:1rem}.statement-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.summary-cards{grid-template-columns:1fr}.reservations-table{font-size:.8rem}.reservations-table th,.reservations-table td{padding:.5rem .25rem}}.admin-statement-page{min-height:100vh;background:var(--soft-white)}.statement-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:10rem 0 4rem;text-align:center;position:relative}.back-button{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;gap:.5rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;z-index:10}.statement-header-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.statement-header-content p{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto}.statement-content{margin:2rem 0}.statement-form{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 15px #0000001a}.statement-form h2{color:var(--charcoal);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group select{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.form-group select:focus{outline:none;border-color:var(--primary-green)}.form-actions{display:flex;justify-content:center;margin-top:1.5rem}.btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--secondary-green);transform:translateY(-2px);box-shadow:0 4px 15px #2d50164d}.btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.spinning{animation:spin 1s linear infinite}.message{padding:1rem;border-radius:8px;margin:1rem 0;font-weight:500;text-align:center}.message.error{background:#fee;color:#c33;border:1px solid #fcc}.message.success{background:#efe;color:#363;border:1px solid #cfc}.statement-results{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000001a}.statement-summary{margin-bottom:2rem}.statement-summary h2{color:var(--charcoal);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--light-gray)}.summary-card{background:var(--warm-cream);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--light-gray);transition:transform .3s ease,box-shadow .3s ease}.summary-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.summary-card svg{color:var(--accent-gold)!important;flex-shrink:0}.summary-card h3{color:var(--charcoal);font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.summary-card p{color:var(--medium-gray);font-size:.9rem;margin:0}.statement-details{margin-bottom:2rem}.statement-details h3{color:var(--charcoal);font-size:1.3rem;font-weight:600;margin-bottom:1rem}.lots-breakdown{display:grid;gap:1rem}.lot-summary{background:var(--warm-cream);border-radius:8px;padding:1.5rem;border:1px solid var(--light-gray)}.lot-summary h4{color:var(--charcoal);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.lot-summary p{color:var(--medium-gray);margin:0 0 1rem;font-size:.9rem}.lot-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.lot-stats span{background:#fff;padding:.5rem;border-radius:6px;font-size:.9rem;font-weight:500;color:var(--charcoal);text-align:center;border:1px solid var(--light-gray)}.no-reservations{text-align:center;color:var(--medium-gray);font-style:italic;padding:2rem;background:var(--warm-cream);border-radius:8px;border:1px solid var(--light-gray)}.statement-actions{display:flex;justify-content:center;padding-top:1.5rem;border-top:2px solid var(--light-gray)}@media (max-width: 768px){.statement-header{padding:8rem 0 3rem}.statement-header-content h1{font-size:2rem}.statement-header-content p{font-size:1rem}.statement-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.summary-cards,.lot-stats{grid-template-columns:1fr}}@media (max-width: 480px){.statement-header{padding:7rem 0 2rem}.statement-header-content h1{font-size:1.5rem}.statement-form{padding:1rem}.back-button{top:.5rem;left:.5rem;padding:.5rem .75rem;font-size:.8rem}.summary-card{padding:1rem;flex-direction:column;text-align:center}.summary-card svg{margin-bottom:.5rem}}.admin-addons-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.back-button{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.back-button:hover{background:var(--primary-dark);transform:translateY(-2px)}h1{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin:0;text-align:center;flex:1}.add-button{background:var(--success-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.add-button:hover{background:#27ae60;transform:translateY(-2px)}.addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.addon-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;border:2px solid transparent}.addon-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.addon-card.inactive{opacity:.6;border-color:#e74c3c}.addon-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.addon-header h3{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin:0;flex:1}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.addon-details{margin-bottom:1.5rem}.addon-description{color:#666;margin-bottom:1rem;line-height:1.5}.addon-info{display:flex;flex-direction:column;gap:.5rem}.info-item{display:flex;justify-content:space-between;align-items:center}.label{font-weight:600;color:var(--primary-color)}.value{color:#333;font-weight:500}.addon-actions{display:flex;gap:.5rem;flex-wrap:wrap}.toggle-button,.edit-button,.delete-button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;flex:1;min-width:80px}.toggle-button{background:#f39c12;color:#fff}.toggle-button:hover{background:#e67e22}.edit-button{background:var(--primary-color);color:#fff}.edit-button:hover{background:var(--primary-dark)}.delete-button{background:#e74c3c;color:#fff}.delete-button:hover{background:#c0392b}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.empty-state p{color:#666;font-size:1.125rem;margin:0}.modal-content{background:#fff;border-radius:12px;padding:0;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin:0}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-button:hover{background:#f5f5f5;color:#333}.addon-form{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--primary-color)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-help{display:block;margin-top:.25rem;color:#666;font-size:.875rem;line-height:1.4}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:auto;margin:0}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.cancel-button,.save-button{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.cancel-button{background:#f8f9fa;color:#666;border:2px solid #ddd}.cancel-button:hover{background:#e9ecef;color:#333}.save-button{background:var(--primary-color);color:#fff}.save-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.loading{text-align:center;padding:3rem;font-size:1.125rem;color:#666}@media (max-width: 768px){.admin-addons-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch;text-align:center}h1{font-size:2rem;margin-bottom:1rem}.addons-grid{grid-template-columns:1fr;gap:1rem}.form-row{grid-template-columns:1fr}.addon-actions{flex-direction:column}.toggle-button,.edit-button,.delete-button{flex:none}}.admin-reports-page{min-height:100vh;background:var(--warm-cream);padding:2rem}.reports-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.reports-header h1{color:var(--primary-green);font-size:2.5rem;font-weight:700;margin:0}.reports-navigation{display:flex;gap:1rem;margin-bottom:2rem}.nav-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#fff;border:2px solid #e1e8ed;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;color:#2c3e50;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.nav-button:hover{border-color:#3498db;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.nav-button.active{background:var(--primary-green);color:var(--soft-white);border-color:var(--primary-green)}.tax-report,.owner-report{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid #e1e8ed}.report-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.report-controls h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0}.date-selector{display:flex;gap:1rem;align-items:center}.generate-button{padding:.75rem 1.5rem;background:var(--primary-green);color:var(--soft-white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.generate-button:hover:not(:disabled){background:var(--deep-forest)}.generate-button:disabled{background:#bdc3c7;cursor:not-allowed}.report-actions{display:flex;gap:1rem}.download-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-green);color:var(--soft-white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.download-button:hover{background:var(--deep-forest)}.report-results{margin-top:2rem}.report-title{margin-bottom:1.5rem;text-align:center}.report-title h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0;padding:1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border-left:4px solid #3498db}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%)!important;color:var(--soft-white)!important;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 4px 16px #0000001a}.summary-card h3{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--soft-white)!important;opacity:.95}.summary-card .amount,.summary-card .count{font-size:2rem;font-weight:700;margin:0;color:var(--soft-white)!important}.reservations-table,.owners-table{margin-top:2rem}.reservations-table h3,.owners-table h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0 0 1rem}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}thead{background:var(--primary-green)!important;color:var(--soft-white)!important}thead th{color:var(--soft-white)!important}th,td{padding:1rem;text-align:left;border-bottom:1px solid #e1e8ed}th{font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}tbody tr:hover{background:#f8f9fa}tbody tr:last-child td{border-bottom:none}@media (max-width: 768px){.admin-reports-page{padding:1rem}.reports-header{flex-direction:column;align-items:flex-start;gap:1rem}.reports-header h1{font-size:2rem}.reports-navigation{flex-direction:column}.report-controls{flex-direction:column;align-items:flex-start}.date-selector{flex-direction:column;align-items:stretch}.summary-cards{grid-template-columns:1fr}table{font-size:.9rem}th,td{padding:.75rem .5rem}}@media (max-width: 480px){.admin-reports-page{padding:.5rem}.tax-report,.owner-report{padding:1rem}table{font-size:.8rem}th,td{padding:.5rem .25rem}}.admin-user-management-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.user-management-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.user-management-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0}.user-management-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.search-section{flex:1;min-width:300px}.search-input{position:relative;display:flex;align-items:center}.search-input svg{position:absolute;left:1rem;color:#7f8c8d;z-index:1}.search-input input{width:100%;padding:.75rem 1rem .75rem 3rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;transition:border-color .3s ease}.search-input input:focus{outline:none;border-color:#3498db}.filter-section{display:flex;gap:1rem}.role-filter{padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.role-filter:focus{outline:none;border-color:#3498db}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden;border:1px solid #e1e8ed}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#34495e;color:#fff}.users-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-table tbody tr{border-bottom:1px solid #e1e8ed;transition:background-color .3s ease}.users-table tbody tr:hover{background:#f8f9fa}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:1rem;vertical-align:top}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;background:#3498db;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{min-width:0}.user-name{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.user-id{font-size:.8rem;color:#7f8c8d;font-family:monospace}.contact-info{min-width:200px}.contact-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.9rem}.contact-item svg{color:#7f8c8d;flex-shrink:0}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:#e74c3c;color:#fff}.role-badge.manager{background:#f39c12;color:#fff}.role-badge.owner{background:#27ae60;color:#fff}.role-badge.guest{background:#95a5a6;color:#fff}.lots-info{min-width:150px}.lots-list{display:flex;flex-direction:column;gap:.25rem}.lot-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.rental-badge{background:#3498db;color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.no-lots{color:#7f8c8d;font-style:italic;font-size:.9rem}.join-date{min-width:120px}.date-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.date-info svg{color:#7f8c8d}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.approved{background:#27ae60;color:#fff}.status-badge.pending{background:#f39c12;color:#fff}.actions{display:flex;gap:.5rem;min-width:100px}.action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.action-button.edit{background:#3498db;color:#fff}.action-button.edit:hover{background:#2980b9;transform:translateY(-1px)}.action-button.delete{background:#e74c3c;color:#fff}.action-button.delete:hover{background:#c0392b;transform:translateY(-1px)}.no-users{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#7f8c8d}.no-users svg{margin-bottom:1rem;opacity:.5}.no-users h3{margin:0 0 .5rem;color:#2c3e50}.modal-header h3{margin:0;color:#2c3e50;font-size:1.25rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-button:hover{background:#f8f9fa;color:#2c3e50}.role-selection{margin-top:1rem}.role-selection label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.role-selection select{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.role-selection select:focus{outline:none;border-color:#3498db}.warning-message{display:flex;gap:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404}.warning-message svg{color:#f39c12;flex-shrink:0;margin-top:.25rem}.warning-message p{margin:0 0 .5rem}.warning-message p:last-child{margin-bottom:0}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}@media (max-width: 768px){.admin-user-management-page{padding:1rem}.user-management-header{flex-direction:column;align-items:flex-start;gap:1rem}.user-management-header h1{font-size:2rem}.user-management-controls{flex-direction:column;align-items:stretch}.search-section{min-width:auto}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.user-info{flex-direction:column;align-items:flex-start;gap:.5rem}.contact-info{min-width:auto}.actions{flex-direction:column;gap:.25rem}}@media (max-width: 480px){.admin-user-management-page{padding:.5rem}.modal-content{margin:.5rem}.modal-header,.modal-body,.modal-footer{padding:1rem}}.admin-budget-page{min-height:100vh;background:var(--warm-cream);padding:2rem}.back-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--primary-green)!important;color:var(--soft-white)!important;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.back-button:hover{background:var(--deep-forest)!important;color:var(--soft-white)!important}.budget-header h1{color:var(--primary-green);font-size:2.5rem;font-weight:700;margin:0}.success-message{background:#27ae60;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.budget-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e1e8ed}.tab-button{padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:600;color:var(--charcoal);transition:all .3s ease}.tab-button.active{color:var(--primary-green);border-bottom-color:var(--primary-green)}.tab-button:hover{color:var(--primary-green)}.budget-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 16px #0000001a;border:1px solid #e1e8ed}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{color:var(--primary-green);font-size:1.5rem;font-weight:700;margin:0}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.category-card{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%)!important;color:var(--soft-white)!important;padding:1.5rem;border-radius:12px;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease}.category-card h3,.category-card p,.category-card span{color:var(--soft-white)!important}.category-card:hover{transform:translateY(-2px)}.category-card .category-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;background:transparent!important}.category-card .category-header h3{font-size:1.25rem;font-weight:700;margin:0;flex:1;color:var(--soft-white)!important;background:transparent!important}.category-actions{display:flex;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.action-btn.edit{background:#fff3;color:#fff}.action-btn.edit:hover{background:#ffffff4d}.action-btn.delete{background:#e74c3ccc;color:#fff}.action-btn.delete:hover{background:#e74c3c}.category-card .category-description{margin:0 0 1rem;opacity:.9;line-height:1.4;color:var(--soft-white)!important}.category-card .category-budget{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.category-card .budget-label{font-size:.9rem;opacity:.8;color:var(--soft-white)!important}.category-card .budget-amount{font-size:1.25rem;font-weight:700;color:var(--soft-white)!important}.account-codes-table{overflow-x:auto}.account-codes-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.account-codes-table thead{background:var(--primary-green)!important;color:var(--soft-white)!important}.account-codes-table thead th{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.2);color:var(--soft-white)!important;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.account-codes-table td{padding:1rem;text-align:left;border-bottom:1px solid #e1e8ed;color:var(--charcoal)}.account-codes-table tbody tr:hover{background:var(--light-gray)}.account-codes-table tbody tr:last-child td{border-bottom:none}.spending-plan{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.spending-plan.monthly{background:var(--lake-blue);color:var(--soft-white)}.spending-plan.quarterly{background:var(--accent-gold);color:var(--charcoal)}.spending-plan.annual{background:var(--secondary-green);color:var(--soft-white)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e1e8ed}.modal-header h3{margin:0;color:var(--primary-green);font-size:1.25rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--charcoal);opacity:.7;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-button:hover{background:var(--light-gray);color:var(--charcoal);opacity:1}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--charcoal)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;transition:border-color .3s ease}.form-group textarea{resize:vertical;min-height:80px}.file-help{margin-top:.5rem;font-size:.9rem;color:var(--charcoal);opacity:.7;font-style:italic}.budget-controls,.date-selector{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.date-selector select{padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;color:var(--charcoal);cursor:pointer;transition:border-color .3s ease}.date-selector select:focus{outline:none;border-color:var(--primary-green)}.date-selector select:disabled{background:var(--light-gray);color:var(--charcoal);opacity:.6;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--charcoal);cursor:pointer}.budget-results{margin-top:1.5rem}.budget-table{overflow-x:auto}.budget-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.budget-table thead{background:var(--primary-green)!important;color:var(--soft-white)!important}.budget-table thead th{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.2);color:var(--soft-white)!important;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.budget-table td{padding:1rem;text-align:left;border-bottom:1px solid #e1e8ed;color:var(--charcoal)}.budget-table tbody tr:hover{background:var(--light-gray)}.budget-table tbody tr:last-child td{border-bottom:none}.account-info{display:flex;flex-direction:column;gap:.25rem}.account-name{font-weight:600;color:var(--charcoal)}.account-number{font-size:.9rem;color:var(--charcoal);opacity:.7;font-family:monospace}.budget-table .negative{color:#e74c3c;font-weight:600}.status-indicator{display:flex;align-items:center;gap:.5rem}.status-text.good{color:#27ae60;font-weight:600}.status-text.warning{color:#f39c12;font-weight:600}.status-text.danger{color:#e74c3c;font-weight:600}.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--charcoal);opacity:.7}.no-data h3{margin:0 0 .5rem;color:var(--primary-green)}.upload-info{margin-top:2rem}.info-card{background:var(--soft-white);border:1px solid var(--secondary-green);border-radius:8px;padding:1.5rem}.info-card h3{color:var(--primary-green);font-size:1.25rem;font-weight:700;margin:0 0 1rem}.info-card p{margin:0 0 1rem;color:var(--charcoal)}.info-card ul{margin:0 0 1rem;padding-left:1.5rem}.info-card li{margin-bottom:.5rem;color:var(--charcoal)}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e1e8ed}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-secondary{background:var(--charcoal);color:var(--soft-white);opacity:.8}.btn-secondary:hover:not(:disabled){background:var(--charcoal);opacity:1}.btn-primary{background:var(--primary-green);color:var(--soft-white)}.btn-primary:hover:not(:disabled){background:var(--deep-forest)}@media (max-width: 768px){.admin-budget-page{padding:1rem}.budget-header{flex-direction:column;align-items:flex-start;gap:1rem}.budget-header h1{font-size:2rem}.budget-tabs{flex-direction:column;gap:0}.tab-button{border-bottom:1px solid #e1e8ed;border-radius:0}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.categories-grid{grid-template-columns:1fr}.account-codes-table{font-size:.9rem}.account-codes-table th,.account-codes-table td{padding:.75rem .5rem}}@media (max-width: 480px){.admin-budget-page{padding:.5rem}.budget-section{padding:1rem}.modal-content{margin:.5rem}.modal-header,.modal-body,.modal-footer{padding:1rem}}.owner-budget-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.budget-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.back-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#2c3e50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.back-button:hover{background:#34495e}.budget-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #e1e8ed;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#e74c3c;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.budget-controls{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 16px #0000001a;border:1px solid #e1e8ed}.date-selector{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.date-selector select{padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;color:#2c3e50;cursor:pointer;transition:border-color .3s ease}.date-selector select:focus{outline:none;border-color:#3498db}.date-selector select:disabled{background:#f8f9fa;color:#7f8c8d;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#2c3e50;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 16px #0000001a;border:1px solid #e1e8ed;display:flex;align-items:center;gap:1rem;transition:transform .3s ease}.summary-card:hover{transform:translateY(-2px)}.card-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.total-budget .card-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.total-spent .card-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.total-remaining .card-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.overall-status .card-icon{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.overall-status.warning .card-icon{background:linear-gradient(135deg,#fa709a,#fee140)}.overall-status.danger .card-icon{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.card-content{flex:1}.card-content h3{font-size:1rem;font-weight:600;color:#7f8c8d;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.card-content .amount{font-size:2rem;font-weight:700;color:#2c3e50;margin:0 0 .25rem}.status-text{font-size:.9rem;font-weight:600;margin:0}.overall-status.good .status-text{color:#27ae60}.overall-status.warning .status-text{color:#f39c12}.overall-status.danger .status-text{color:#e74c3c}.budget-categories{display:flex;flex-direction:column;gap:2rem}.category-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 16px #0000001a;border:1px solid #e1e8ed}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;background:var(--primary-green);border-radius:8px;margin:-2rem -2rem 1.5rem}.category-header h2{color:var(--soft-white)!important;font-size:1.5rem;font-weight:700;margin:0}.category-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.category-amount{font-size:1.25rem;font-weight:700;color:var(--soft-white)!important}.category-percentage{font-size:1rem;font-weight:600;padding:.25rem .75rem;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.category-percentage.good{background:#d5f4e6;color:#27ae60}.category-percentage.warning{background:#fef5e7;color:#f39c12}.category-percentage.danger{background:#fadbd8;color:#e74c3c}.category-items{display:flex;flex-direction:column;gap:1.5rem}.budget-item{background:#f8f9fa;border-radius:8px;padding:1.5rem;border:1px solid #e1e8ed}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.item-info h4{font-size:1.1rem;font-weight:600;color:#2c3e50;margin:0 0 .25rem}.account-number{font-size:.9rem;color:#7f8c8d;margin:0 0 .5rem;font-family:monospace}.spending-plan{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#3498db;color:#fff}.item-status{display:flex;align-items:center;gap:.5rem}.status-icon{flex-shrink:0}.status-icon.good{color:#27ae60}.status-icon.warning{color:#f39c12}.status-icon.danger{color:#e74c3c}.item-progress{margin-bottom:1rem}.progress-bar{width:100%;height:8px;background:#e1e8ed;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;transition:width .3s ease}.progress-fill.good{background:linear-gradient(90deg,#27ae60,#2ecc71)}.progress-fill.warning{background:linear-gradient(90deg,#f39c12,#e67e22)}.progress-fill.danger{background:linear-gradient(90deg,#e74c3c,#c0392b)}.progress-text{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#7f8c8d}.progress-text .percentage{font-weight:600;color:#2c3e50}.item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e1e8ed}.detail-item:last-child{border-bottom:none}.detail-item .label{font-size:.9rem;color:#7f8c8d;font-weight:500}.detail-item .value{font-weight:600;color:#2c3e50}.detail-item .value.negative{color:#e74c3c}.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#7f8c8d;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a}.no-data svg{margin-bottom:1rem;opacity:.5}.no-data h3{margin:0 0 .5rem;color:#2c3e50}@media (max-width: 768px){.owner-budget-page{padding:1rem}.budget-header{flex-direction:column;align-items:flex-start;gap:1rem}.budget-header h1{font-size:2rem}.date-selector{flex-direction:column;align-items:stretch}.summary-cards{grid-template-columns:1fr}.category-header{flex-direction:column;align-items:flex-start;gap:1rem}.category-summary{align-items:flex-start}.item-header{flex-direction:column;align-items:flex-start;gap:1rem}.item-status{align-self:flex-end}.item-details{grid-template-columns:1fr}}@media (max-width: 480px){.owner-budget-page{padding:.5rem}.category-section,.budget-item{padding:1rem}}.payouts-page{min-height:100vh;background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);padding:2rem 0}.payouts-header{text-align:center;margin-bottom:3rem;color:#fff}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;transition:all .3s ease;margin-bottom:2rem}.payouts-header h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#fff}.payouts-header p{font-size:1.2rem;opacity:.9;color:#fff}.payouts-content{max-width:1200px;margin:0 auto;padding:0 2rem}.payout-summary{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a}.payout-summary h2{color:var(--primary-green);margin-bottom:1.5rem;font-size:1.5rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.summary-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--light-gray);border-radius:12px;border-left:4px solid var(--primary-green)}.summary-icon{width:40px;height:40px;color:var(--primary-green);flex-shrink:0}.summary-content h3{font-size:.9rem;color:var(--charcoal);margin-bottom:.5rem;font-weight:600}.summary-amount,.summary-count{font-size:1.5rem;font-weight:700;color:var(--primary-green);margin:0}.summary-date{font-size:1rem;color:var(--charcoal);margin:0}.recipient-status{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a}.recipient-status h2{color:var(--primary-green);margin-bottom:1.5rem;font-size:1.5rem}.status-card{border:2px solid var(--light-gray);border-radius:12px;padding:1.5rem}.status-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.status-icon{width:40px;height:40px;flex-shrink:0}.status-icon.success{color:var(--success-green)}.status-icon.warning{color:var(--warning-orange)}.status-icon.error{color:var(--error-red)}.status-info h3{color:var(--charcoal);margin-bottom:.5rem;font-size:1.2rem}.status-info p{color:var(--medium-gray);margin:.25rem 0;font-size:.9rem}.status-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.status-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--light-gray);border-radius:8px}.status-label{font-weight:600;color:var(--charcoal)}.status-value{font-weight:700;padding:.25rem .75rem;border-radius:4px;font-size:.9rem}.status-value.success{background:#dcfce7;color:#166534}.status-value.error{background:#fee2e2;color:#991b1b}.requirements{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:1rem}.requirements h4{color:#92400e;margin-bottom:.5rem;font-size:1rem}.requirements ul{margin:0;padding-left:1.5rem}.requirements li{color:#92400e;margin-bottom:.25rem;font-size:.9rem}.status-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--light-gray);display:flex;justify-content:flex-end}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.no-recipient{text-align:center;padding:3rem 2rem;background:#fef2f2;border:2px dashed #fecaca;border-radius:12px}.warning-icon{width:48px;height:48px;color:#f59e0b;margin-bottom:1rem}.no-recipient h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.2rem}.no-recipient p{color:var(--medium-gray);margin-bottom:2rem}.registration-form{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000001a}.registration-form h2{color:var(--primary-green);margin-bottom:1.5rem;font-size:1.5rem}.form-section{margin-bottom:2rem}.form-section h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.1rem;border-bottom:2px solid var(--light-gray);padding-bottom:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:var(--charcoal);margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-green)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--light-gray)}.payout-history{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a}.payout-history h2{color:var(--primary-green);margin-bottom:1.5rem;font-size:1.5rem}.history-table{border:1px solid var(--light-gray);border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;background:var(--primary-green);color:#fff;font-weight:600;padding:1rem}.table-row{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;padding:1rem;border-bottom:1px solid var(--light-gray);align-items:center}.table-row:last-child{border-bottom:none}.table-row:nth-child(2n){background:var(--light-gray)}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.reversed{background:#f3f4f6;color:#374151}@media (max-width: 768px){.payouts-content{padding:0 1rem}.summary-cards,.form-row{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header>div,.table-row>div{padding:.5rem 0}.form-actions{flex-direction:column}}.notification-preferences-page{min-height:100vh;background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);padding:2rem 0}.notification-preferences-header{text-align:center;margin-bottom:3rem;color:#fff}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;transition:all .3s ease;margin-bottom:2rem;cursor:pointer;font-size:1rem}.back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.notification-preferences-header h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#fff}.notification-preferences-header p{font-size:1.2rem;opacity:.9;color:#fff}.notification-preferences-content{max-width:800px;margin:0 auto;padding:0 2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.preferences-form-container{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a}.preferences-form{display:flex;flex-direction:column;gap:2rem}.form-section h2{color:var(--primary-green);font-size:1.5rem;font-weight:600;margin-bottom:.5rem;border-bottom:2px solid var(--light-gray);padding-bottom:.75rem}.info-display{background:var(--warm-cream);border-radius:8px;padding:1rem 1.5rem}.info-item{display:flex;align-items:center;gap:1rem}.info-item label{font-weight:600;color:var(--charcoal);min-width:100px}.info-item span{color:var(--charcoal);font-size:1rem}.form-group input[type=email],.form-group input[type=tel]{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-green)}.btn-secondary:hover{background:var(--light-gray);border-color:var(--medium-gray)}@media (max-width: 768px){.notification-preferences-content{padding:0 1rem}.preferences-form-container{padding:1.5rem}.notification-preferences-header h1{font-size:2rem}.form-section h2{font-size:1.25rem}.checkbox-label{padding:1rem}.form-actions{flex-direction:column}.btn{width:100%}}.admin-notification-page{min-height:100vh;background:var(--warm-cream);padding-top:120px}.admin-portal-header{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;padding:2rem 0;margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.header-left,.header-right{flex-shrink:0}.header-center{flex:1;text-align:center;min-width:200px}.header-center h1{color:#fff;font-size:2rem;margin:0 0 .5rem;font-weight:700}.header-center p{color:#ffffffe6;margin:0;font-size:1rem}.notification-form-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a}.message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;font-weight:500}.message.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.message.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.notification-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.5rem}.form-section h2{display:flex;align-items:center;gap:.75rem;color:var(--primary-green);font-size:1.5rem;font-weight:600;margin-bottom:.5rem;border-bottom:2px solid var(--light-gray);padding-bottom:.75rem}.section-description{color:var(--medium-gray);font-size:.95rem;margin:-.5rem 0 .5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--charcoal);font-size:1rem}.form-group label svg{color:var(--primary-green)}.form-group input[type=text],.form-group textarea{padding:.75rem;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:border-color .3s ease;font-family:inherit}.form-group textarea{resize:vertical;min-height:150px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2d50161a}.field-help{font-size:.875rem;color:var(--medium-gray);margin:0}.checkbox-group{margin-bottom:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:1.5rem;border:2px solid var(--light-gray);border-radius:12px;transition:all .3s ease;background:var(--warm-cream)}.checkbox-label:hover{border-color:var(--primary-green);background:#f9fafb}.checkbox-label input[type=checkbox]{width:24px;height:24px;cursor:pointer;margin-top:.25rem;flex-shrink:0;accent-color:var(--primary-green)}.checkbox-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.checkbox-header{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--charcoal);font-size:1.1rem}.checkbox-header svg{color:var(--primary-green)}.checkbox-description{color:var(--medium-gray);font-size:.9rem;margin:0;line-height:1.5}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:2px solid var(--light-gray);margin-top:1rem}.btn{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){background:var(--secondary-green);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--charcoal);border:2px solid var(--light-gray)}.btn-secondary:hover:not(:disabled){background:var(--light-gray);border-color:var(--medium-gray)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.admin-notification-page{padding-top:100px}.header-content{flex-direction:column;text-align:center}.header-left,.header-right,.header-left button,.header-right button{width:100%}.notification-form-container{padding:1.5rem;margin:0 1rem}.header-center h1{font-size:1.5rem}.form-section h2{font-size:1.25rem}.checkbox-label{padding:1rem}.form-actions{flex-direction:column}.btn{width:100%}}.storage-rentals-page{min-height:100vh;background:var(--light-gray)}.page-header{background:var(--soft-white);border-bottom:1px solid var(--light-gray);padding:2rem 0;width:100%}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-center{flex:1;text-align:center}.header-center h1{color:var(--primary-green);margin:0 0 .5rem;font-size:2rem}.header-center p{color:var(--medium-gray);margin:0}.rentals-section,.available-spots-section{margin:2rem 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.view-toggle{display:flex;gap:.5rem}.toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid var(--light-gray);background:#fff;color:var(--charcoal);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.toggle-btn:hover{border-color:var(--primary-green);color:var(--primary-green)}.toggle-btn.active{background:var(--primary-green);color:#fff;border-color:var(--primary-green)}.rentals-section h2,.available-spots-section h2{color:var(--charcoal);margin-bottom:1.5rem;font-size:1.5rem}.rentals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.rental-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--light-gray)}.card-header h3{margin:0;color:var(--charcoal);font-size:1.2rem}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;text-transform:capitalize}.status-active{background:#d1fae5;color:#065f46}.status-canceled,.status-incomplete_expired{background:#fee2e2;color:#991b1b}.status-past_due,.status-unpaid{background:#fef3c7;color:#92400e}.status-available{background:#dbeafe;color:#1e40af}.card-body{margin-bottom:1rem}.rental-info p{margin:.5rem 0;color:var(--charcoal)}.card-footer{display:flex;gap:1rem}.location-section{margin-bottom:3rem}.location-header{margin-bottom:1.5rem}.location-header h3{color:var(--charcoal);margin:0 0 .5rem;font-size:1.3rem}.location-description{color:var(--medium-gray);margin:0}.spots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.spot-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column}.spot-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--light-gray)}.spot-header h4{margin:0;color:var(--charcoal);font-size:1.1rem}.spot-header svg{color:var(--primary-green)}.spot-body{flex:1;margin-bottom:1rem}.spot-footer{display:flex;gap:1rem}.subscription-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.subscription-modal-content{background:#fff;border-radius:8px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.subscription-modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--light-gray)}.subscription-modal-content .modal-header h2{margin:0;color:var(--charcoal)}.subscription-modal-content .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--medium-gray);padding:.5rem;line-height:1}.subscription-modal-content .modal-close:hover{color:var(--charcoal)}.subscription-modal-content .modal-body{padding:1.5rem}.empty-state{text-align:center;padding:3rem 2rem;color:var(--medium-gray)}.empty-state svg{color:var(--light-gray);margin-bottom:1rem}.empty-state h3{color:var(--charcoal);margin:0 0 .5rem}.empty-state p{margin:0}@media (max-width: 768px){.rentals-grid,.spots-grid{grid-template-columns:1fr}.header-content{flex-direction:column;align-items:flex-start}.header-center{text-align:left;width:100%}.section-header{flex-direction:column;align-items:flex-start}.view-toggle{width:100%}.toggle-btn{flex:1}.subscription-modal-content{margin:1rem;max-height:calc(100vh - 2rem)}}.review-form-container{max-width:600px;margin:0 auto;padding:20px}.review-form{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 10px #0000001a}.review-form h2{color:var(--primary-green);margin-bottom:10px;text-align:center}.review-form-description{color:#666;text-align:center;margin-bottom:30px;font-style:italic}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:600;color:#333}.form-group label:after{content:""}.form-group label:has(+input[required]):after,.form-group label:has(+select[required]):after,.form-group label:has(+textarea[required]):after{content:" *";color:#e74c3c}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-green)}.field-note{font-size:12px;color:#666;margin-top:5px;margin-bottom:0}.star-rating{display:flex;gap:5px;margin-bottom:10px}.star{background:none;border:none;font-size:24px;color:#ddd;cursor:pointer;transition:color .2s ease;padding:0;line-height:1}.star.interactive:hover{color:gold;transform:scale(1.1)}.star:disabled{cursor:default}.image-preview{margin-top:10px;text-align:center}.image-preview img{max-width:200px;max-height:200px;border-radius:4px;box-shadow:0 2px 8px #0000001a;margin-bottom:10px}.remove-image{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.remove-image:hover{background:#c0392b}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn{padding:12px 24px;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.btn-primary{background:var(--primary-green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--secondary-green);transform:translateY(-1px)}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}@media (max-width: 768px){.review-form-container{padding:10px}.review-form{padding:20px}.form-actions{flex-direction:column}.btn{width:100%}.star{font-size:20px}}.form-group textarea+.field-note{text-align:right}.form-group label[for=rating]:after{content:" *";color:#e74c3c}.reviews-container{max-width:800px;margin:0 auto;padding:20px}.reviews-container h2{color:var(--primary-green);margin-bottom:30px;text-align:center}.reviews-summary{background:#f8f9fa;border-radius:8px;padding:30px;margin-bottom:30px;display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:center}.average-rating{display:flex;align-items:center;gap:20px}.rating-number{font-size:48px;font-weight:700;color:var(--primary-green);line-height:1}.rating-details{display:flex;flex-direction:column;gap:5px}.rating-count{color:#666;font-size:14px}.rating-breakdown{display:flex;flex-direction:column;gap:8px}.rating-bar{display:grid;grid-template-columns:30px 1fr 30px;gap:10px;align-items:center}.rating-label{font-size:14px;color:#666;text-align:right}.bar-container{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:var(--primary-green);transition:width .3s ease}.reviews-controls{display:flex;justify-content:flex-end;margin-bottom:20px}.sort-options{display:flex;align-items:center;gap:10px}.sort-options label{font-weight:600;color:#333}.sort-options select{padding:8px 12px;border:2px solid #ddd;border-radius:4px;background:#fff;font-size:14px}.sort-options select:focus{outline:none;border-color:var(--primary-green)}.reviews-list{display:flex;flex-direction:column;gap:20px}.review-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000000d;transition:box-shadow .3s ease}.review-card:hover{box-shadow:0 4px 8px #0000001a}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.reviewer-info{flex:1}.reviewer-name{margin:0 0 5px;color:#333;font-size:16px;font-weight:600}.lot-info{color:#666;font-size:14px}.review-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.review-date{color:#666;font-size:12px}.review-title{margin:0 0 10px;color:#333;font-size:18px;font-weight:600}.review-content{margin:0 0 15px;color:#555;line-height:1.6;white-space:pre-wrap}.review-image{margin-top:15px}.review-image img{max-width:200px;max-height:200px;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .3s ease}.review-image img:hover{transform:scale(1.05)}.admin-reply{margin-top:20px;padding:15px;background:#f8f9fa;border-left:4px solid var(--primary-green);border-radius:4px}.admin-reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.admin-reply-label{font-weight:600;color:var(--primary-green);font-size:14px;text-transform:uppercase;letter-spacing:.5px}.admin-reply-date{color:#666;font-size:12px}.admin-reply-content{color:#333;line-height:1.6;white-space:pre-wrap}.star-rating{display:flex;gap:2px}.star-rating.large{gap:3px}.star-rating.small{gap:1px}.star{color:#ddd;font-size:16px;line-height:1}.star-rating.large .star{font-size:20px}.star-rating.small .star{font-size:14px}@media (max-width: 768px){.reviews-container{padding:10px}.reviews-summary{grid-template-columns:1fr;gap:20px;text-align:center}.average-rating{justify-content:center}.review-header{flex-direction:column;gap:10px}.review-meta{align-items:flex-start}.reviews-controls{justify-content:center}.rating-bar{grid-template-columns:25px 1fr 25px;gap:8px}.rating-label{font-size:12px}.review-image img{max-width:150px;max-height:150px}}@media (max-width: 480px){.reviews-summary{padding:20px}.rating-number{font-size:36px}.review-card{padding:15px}.review-title{font-size:16px}.review-content{font-size:14px}}.admin-reviews-container{max-width:1200px;margin:0 auto;padding:20px}.admin-reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-reviews-header h2{color:var(--primary-green);margin:0}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 4px #0000001a;border-left:4px solid #6c757d}.stat-card.pending{border-left-color:#ffc107}.stat-card.approved{border-left-color:#28a745}.stat-card.rejected{border-left-color:#dc3545}.stat-number{font-size:32px;font-weight:700;color:#333;margin-bottom:5px}.stat-label{color:#666;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.filter-tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:1px solid #e9ecef}.filter-tab{background:none;border:none;padding:12px 20px;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;font-weight:500;color:#666}.filter-tab:hover{background:#f8f9fa;color:#333}.filter-tab.active{color:var(--primary-green);border-bottom-color:var(--primary-green);background:#f8f9fa}.reviews-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.reviews-table{width:100%;border-collapse:collapse}.reviews-table th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e9ecef}.reviews-table td{padding:15px;border-bottom:1px solid #e9ecef;vertical-align:top}.reviews-table tr:hover{background:#f8f9fa}.reviewer-info{min-width:150px}.reviewer-name{font-weight:600;color:#333;margin-bottom:2px}.reviewer-email{font-size:12px;color:#666}.lot-info{font-size:14px;color:#333}.lot-info small{color:#666}.no-lot{color:#999;font-style:italic}.review-title{font-weight:500;color:#333;margin-bottom:5px}.review-preview{font-size:12px;color:#666;line-height:1.4}.review-date{font-size:12px;color:#666}.approved-date{font-size:11px;color:#28a745;margin-top:2px}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#fff3cd;color:#856404}.status-approved{background:#d4edda;color:#155724}.status-rejected{background:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:5px;flex-wrap:wrap}.btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:4px 8px;font-size:11px}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#1e7e34}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.star-rating{display:flex;gap:1px}.star-rating.medium{gap:2px}.star{color:#ddd;font-size:14px;line-height:1}.star-rating.medium .star{font-size:16px}.star.filled{color:gold}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;color:#333}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:20px}.review-details{display:flex;flex-direction:column;gap:15px}.detail-row{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start}.detail-row label{font-weight:600;color:#333;font-size:14px}.detail-row span{color:#555;font-size:14px}.review-content{background:#f8f9fa;padding:15px;border-radius:4px;white-space:pre-wrap;line-height:1.6;font-size:14px;color:#333}.review-image{max-width:200px;max-height:200px;border-radius:4px;box-shadow:0 2px 8px #0000001a}.admin-notes-section{margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}.admin-notes-section label{display:block;margin-bottom:8px;font-weight:600;color:#333}.admin-notes-section textarea{width:100%;padding:10px;border:2px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;min-height:80px}.admin-notes-section textarea:focus{outline:none;border-color:var(--primary-green)}.admin-reply-section{margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}.reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.reply-header label{font-weight:600;color:#333;font-size:14px}.reply-editor{display:flex;flex-direction:column;gap:10px}.reply-editor textarea{width:100%;padding:10px;border:2px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;min-height:100px;font-family:inherit}.reply-editor textarea:focus{outline:none;border-color:var(--primary-green)}.reply-actions{display:flex;gap:10px;justify-content:flex-end}.admin-reply-display{background:#f8f9fa;padding:15px;border-radius:4px;border-left:4px solid var(--primary-green);color:#333;line-height:1.6;white-space:pre-wrap}.reply-date{margin-top:8px;font-size:12px;color:#666;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e9ecef}.loading,.error,.no-reviews{text-align:center;padding:40px 20px;color:#666;font-size:16px}.error{color:#e74c3c}.no-reviews{background:#f8f9fa;border-radius:8px;border:2px dashed #ddd}@media (max-width: 768px){.admin-reviews-container{padding:10px}.admin-reviews-header{flex-direction:column;gap:15px;align-items:stretch}.stats-cards{grid-template-columns:repeat(2,1fr)}.filter-tabs{flex-wrap:wrap}.reviews-table-container{overflow-x:auto}.reviews-table{min-width:800px}.action-buttons{flex-direction:column}.btn-sm{width:100%;margin-bottom:2px}.modal-content{margin:10px;max-height:90vh}.detail-row{grid-template-columns:1fr;gap:5px}.detail-row label{font-size:12px;text-transform:uppercase;letter-spacing:.5px}}@media (max-width: 480px){.stats-cards{grid-template-columns:1fr}.filter-tab{padding:10px 15px;font-size:14px}.reviews-table th,.reviews-table td{padding:10px 8px}.modal-footer{flex-direction:column}.btn{width:100%}}.reviews-page{min-height:100vh;background:#f8f9fa;padding-top:120px}.reviews-hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--secondary-green) 100%);color:#fff;text-align:center;padding:80px 20px;margin-bottom:40px}.reviews-hero h1{font-size:3rem;margin-bottom:20px;font-weight:700}.reviews-hero p{font-size:1.2rem;margin-bottom:30px;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto}.btn-large{padding:15px 30px;font-size:1.1rem;font-weight:600;border-radius:8px;transition:all .3s ease}.btn-large:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.admin-section{background:#fff;margin:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.public-reviews-section{padding:0 20px 40px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0}.modal-header h2{margin:0;color:var(--primary-green);font-size:1.5rem}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#e9ecef;color:#333}.modal-body{padding:0}@media (max-width: 768px){.reviews-page{padding-top:100px}.reviews-hero{padding:60px 15px}.reviews-hero h1{font-size:2.5rem}.reviews-hero p{font-size:1.1rem}.admin-section{margin:10px}.public-reviews-section{padding:0 10px 30px}.modal-content{margin:10px;max-height:95vh}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.3rem}}@media (max-width: 480px){.reviews-hero h1{font-size:2rem}.reviews-hero p{font-size:1rem}.btn-large{padding:12px 24px;font-size:1rem}}
