*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 20px #0000001a;left:0;position:fixed;right:0;top:0;z-index:1000}.header-content{justify-content:space-between;padding:1rem 0}.header-content,.logo{align-items:center;display:flex}.logo{color:#333;gap:.75rem;text-decoration:none}.logo-image{height:70px;object-fit:contain;width:auto}.logo h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0}.nav{align-items:center;display:flex;gap:2rem}.nav-link{border-radius:8px;color:#333;font-weight:500;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-link.active,.nav-link:hover{background:#667eea1a;color:#667eea}.menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;padding:.5rem}.menu-toggle span{background:#333;border-radius:2px;height:3px;margin:3px 0;transition:.3s;width:25px}@media (max-width:768px){.menu-toggle{display:flex}.logo-image{height:32px}.logo h2{font-size:1.5rem}.nav{background:#fff;box-shadow:0 4px 20px #0000001a;flex-direction:column;left:0;opacity:0;padding:1rem;position:absolute;right:0;top:100%;transform:translateY(-100%);transition:all .3s ease;visibility:hidden}.nav-open{opacity:1;transform:translateY(0);visibility:visible}.nav-link{padding:1rem;text-align:center;width:100%}.menu-toggle.active span:first-child{transform:rotate(-45deg) translate(-5px,6px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}}@media (max-width:480px){.logo-image{height:28px}.logo h2{font-size:1.3rem}.logo{gap:.5rem}}.footer{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:3rem 0 1rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.footer-section h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;margin-bottom:1rem}.footer-section h4{color:#ecf0f1;font-size:1.1rem;margin-bottom:1rem}.footer-section p{color:#bdc3c7;line-height:1.6;margin-bottom:.5rem}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:#bdc3c7;text-decoration:none;transition:color .3s ease}.footer-section ul li a:hover{color:#667eea}.social-links{display:flex;gap:1rem}.social-link{align-items:center;border-radius:50%;color:#bdc3c7;display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.social-link:hover{color:#fff;transform:translateY(-2px)}.social-link.facebook:hover{background:#1877f2;box-shadow:0 4px 15px #1877f24d}.social-link.instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);box-shadow:0 4px 15px #e1306c4d}.social-link svg{height:20px;transition:all .3s ease;width:20px}.footer-bottom{border-top:1px solid #34495e;padding-top:1rem;text-align:center}.footer-bottom p{color:#95a5a6;margin:0}@media (max-width:768px){.footer-content{grid-template-columns:1fr;text-align:center}.social-links{justify-content:center}}.whatsapp-widget{bottom:20px;cursor:pointer;position:fixed;right:20px;z-index:1000}.whatsapp-icon{align-items:center;animation:pulse 2s infinite;background:#25d366;border-radius:50%;box-shadow:0 4px 20px #25d3664d;color:#fff;display:flex;height:60px;justify-content:center;transition:all .3s ease;width:60px}.whatsapp-icon svg{color:#fff;height:32px;width:32px}.whatsapp-icon:hover{box-shadow:0 6px 25px #25d36666;transform:scale(1.1)}.whatsapp-tooltip{background:#333;border-radius:8px;bottom:70px;color:#fff;font-size:14px;opacity:0;padding:8px 12px;position:absolute;right:0;transform:translateY(10px);transition:all .3s ease;visibility:hidden;white-space:nowrap}.whatsapp-tooltip:after{border:5px solid #0000;border-top-color:#333;content:"";position:absolute;right:20px;top:100%}.whatsapp-widget:hover .whatsapp-tooltip{opacity:1;transform:translateY(0);visibility:visible}@keyframes pulse{0%{box-shadow:0 4px 20px #25d3664d}50%{box-shadow:0 4px 20px #25d36699}to{box-shadow:0 4px 20px #25d3664d}}@media (max-width:768px){.whatsapp-widget{bottom:15px;right:15px}.whatsapp-icon{height:50px;width:50px}.whatsapp-icon svg{height:26px;width:26px}.whatsapp-tooltip{display:none}}.image-slider{overflow:hidden}.image-slider,.slider-container{height:100%;position:relative;width:100%}.slide{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity 1s ease-in-out;width:100%}.slide.active{opacity:1}.slide img{height:100%;object-fit:cover;object-position:center;width:100%}.slide-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;left:0;padding:2rem;position:absolute;right:0;text-align:center}.slide-overlay h3{font-size:1.5rem;margin:0;text-shadow:2px 2px 4px #00000080}.slider-arrow{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:50px;justify-content:center;padding:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:2}.slider-arrow:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.slider-arrow.prev{left:2rem}.slider-arrow.next{right:2rem}.slider-dots{bottom:2rem;display:flex;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.dot{background:#0000;border:2px solid #fff;border-radius:50%;cursor:pointer;height:12px;transition:all .3s ease;width:12px}.dot.active{background:#fff}.dot:hover{transform:scale(1.2)}@media (max-width:768px){.slider-arrow{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-size:1.5rem;height:40px;padding:.75rem;width:40px}.slider-arrow.prev{left:.75rem}.slider-arrow.next{right:.75rem}.slide-overlay{background:linear-gradient(#0000,#000c);padding:1rem}.slide-overlay h3{font-size:1.1rem}.slider-dots{bottom:1rem;gap:.4rem}.dot{border-width:1.5px;height:10px;width:10px}}@media (max-width:480px){.slider-arrow{font-size:1.2rem;height:35px;padding:.5rem;width:35px}.slider-arrow.prev{left:.5rem}.slider-arrow.next{right:.5rem}.slide-overlay{padding:.75rem}.slide-overlay h3{font-size:1rem;text-shadow:1px 1px 3px #000000b3}.slider-dots{bottom:.75rem;gap:.3rem}.dot{border-width:1px;height:8px;width:8px}}@media (max-width:360px){.slider-arrow{font-size:1rem;height:30px;width:30px}.slider-arrow.prev{left:.25rem}.slider-arrow.next{right:.25rem}.slide-overlay{padding:.5rem}.slide-overlay h3{font-size:.9rem}.slider-dots{bottom:.5rem}.dot{height:6px;width:6px}}.hero{align-items:center;display:flex;height:100vh;justify-content:center;margin-top:-80px;min-height:600px;overflow:hidden;padding-top:80px;position:relative}.hero-background{overflow:hidden;z-index:-2}.hero-background,.hero-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.hero-overlay{background:#0006;z-index:1}.hero-content{color:#fff;margin:0 auto;max-width:800px;padding:0 20px;position:relative;text-align:center;z-index:2}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem;text-shadow:2px 2px 4px #0000004d}.hero-subtitle{font-size:1.3rem;line-height:1.6;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.features{background:#fff;padding:80px 0}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:3rem}.feature-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.feature-icon{display:block;font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.feature-card p{color:#666;font-size:.95rem;line-height:1.6}.about{background:#f8f9fa;display:block;padding:80px 0;width:100%}.about-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;width:100%}.about-text{width:100%}.about-text h2{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}.about-text p{color:#666;font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.about-image{display:flex;justify-content:center;width:100%}.image-placeholder{border-radius:12px;font-size:1.1rem;height:400px}.image-placeholder img{border-radius:10px;height:100%;object-fit:cover;width:100%}@media (max-width:1024px){.hero-title{font-size:3rem}.features-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.about-content{gap:3rem}}@media (max-width:768px){.hero{height:90vh;margin-top:-60px;min-height:500px;padding-top:60px}.hero-title{font-size:2.2rem;line-height:1.3;margin-bottom:1rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem;padding:0 10px}.hero-buttons{align-items:center;flex-direction:column;gap:.75rem}.hero-buttons .btn{font-size:.95rem;padding:12px 20px;width:200px}.section{padding:60px 0}.section-title{font-size:2rem;margin-bottom:15px}.section-subtitle{font-size:1rem;margin-bottom:40px;padding:0 10px}.features-grid{gap:1.5rem;grid-template-columns:1fr;margin-top:2rem}.feature-card{margin:0 10px;padding:1.5rem}.feature-icon{font-size:2.5rem}.feature-card h3{font-size:1.2rem}.feature-card p{font-size:.9rem}.about-content{gap:2rem;grid-template-columns:1fr;text-align:center}.about-text{order:2;padding:0 10px}.about-image{order:1}.about-text h2{font-size:1.8rem;margin-bottom:1rem}.about-text p{font-size:1rem;line-height:1.6;margin-bottom:1rem}.image-placeholder{height:250px;margin:0 10px}}@media (max-width:480px){.hero{height:85vh;margin-top:-50px;min-height:450px;padding-top:50px}.hero-content{padding:0 15px}.hero-title{font-size:1.8rem;margin-bottom:.75rem}.hero-subtitle{font-size:.9rem;margin-bottom:1.25rem}.hero-buttons .btn{font-size:.9rem;padding:10px 16px;width:180px}.container{padding:0 15px}.section{padding:50px 0}.section-title{font-size:1.6rem}.section-subtitle{font-size:.9rem;margin-bottom:30px}.feature-card{margin:0 5px;padding:1.25rem}.feature-icon{font-size:2.2rem;margin-bottom:.75rem}.feature-card h3{font-size:1.1rem;margin-bottom:.75rem}.feature-card p{font-size:.85rem;line-height:1.5}.about-text h2{font-size:1.6rem;margin-bottom:1rem}.about-text p{font-size:.9rem;line-height:1.5;margin-bottom:1rem;padding:0 5px}.about-text{padding:0 5px}.image-placeholder{font-size:.9rem;height:200px;margin:0 5px}}@media (max-width:360px){.hero-title{font-size:1.6rem}.hero-subtitle{font-size:.85rem}.hero-buttons .btn{font-size:.85rem;padding:8px 14px;width:160px}.feature-card{padding:1rem}.feature-icon{font-size:2rem}.about-text h2,.section-title{font-size:1.4rem}.about-text p{font-size:.85rem;line-height:1.4;padding:0 2px}.about-text{padding:0 2px}.image-placeholder{height:180px;margin:0 2px}}.contact-cta{margin:2rem auto;max-width:1200px}.contact-cta h2{font-weight:700}.contact-cta p{margin-left:auto;margin-right:auto;max-width:600px}.cta-buttons .btn{border-radius:8px;display:inline-block;font-size:1rem;font-weight:500;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.cta-buttons .btn-primary{background:#fff;border:2px solid #fff;color:#667eea}.cta-buttons .btn-primary:hover{background:#0000;box-shadow:0 4px 15px #fff3;color:#fff;transform:translateY(-2px)}.cta-buttons .btn-secondary{background:#0000;border:2px solid #ffffff4d;color:#fff}.cta-buttons .btn-secondary:hover{background:#ffffff1a;border-color:#fff;box-shadow:0 4px 15px #ffffff1a;transform:translateY(-2px)}@media (max-width:768px){.contact-cta{border-radius:8px;margin:1rem;padding:2rem}.contact-cta h2{font-size:1.5rem}.contact-cta p{font-size:1rem;margin-bottom:1.5rem}.cta-buttons{align-items:center;flex-direction:column;gap:.75rem}.cta-buttons .btn{min-width:auto;width:200px}}@media (max-width:480px){.contact-cta{padding:1.5rem}.contact-cta h2{font-size:1.3rem}.contact-cta p{font-size:.9rem}.cta-buttons .btn{font-size:.9rem;padding:10px 20px;width:180px}}.gallery-page{background:#f8f9fa;min-height:100vh;padding-top:100px}.gallery-header{margin-bottom:3rem;text-align:center}.page-title{color:#333;font-size:2.5rem;margin-bottom:1rem}.page-subtitle{color:#666;font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px}.gallery-filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.filter-btn{background:#0000;border:2px solid #667eea;border-radius:25px;color:#667eea;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.filter-btn.active,.filter-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.gallery-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.gallery-item{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;cursor:pointer;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.image-container{height:250px;overflow:hidden;position:relative;width:100%}.gallery-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-item:hover .gallery-image{transform:scale(1.05)}.image-placeholder{background:linear-gradient(135deg,#e3e3e3,#f0f0f0);border:2px dashed #ccc;color:#999;font-size:1rem;height:600px;overflow:hidden;position:relative;width:100%}.image-overlay,.image-placeholder{align-items:center;display:flex;justify-content:center}.image-overlay{background:#667eeae6;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.gallery-item:hover .image-overlay{opacity:1}.overlay-content{color:#fff;text-align:center}.overlay-content h3{font-size:1.2rem;margin-bottom:.5rem}.overlay-content p{font-size:.9rem;opacity:.9}.lightbox{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.lightbox-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.lightbox-close{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:background .3s ease;width:40px;z-index:10}.lightbox-close:hover{background:#000000e6}.lightbox-image{align-items:center;display:flex;flex:1 1;justify-content:center;max-height:70vh;overflow:hidden}.lightbox-img{border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}.image-placeholder.large{font-size:1.2rem;height:400px;width:600px}.lightbox-info{background:#f8f9fa;padding:20px;text-align:center}.lightbox-info h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}.lightbox-info p{color:#666;text-transform:capitalize}@media (max-width:768px){.gallery-page{padding-top:80px}.page-title{font-size:2rem}.gallery-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.image-container,.image-placeholder{height:200px}.lightbox-content{max-height:95vh;max-width:95vw}.lightbox-img{max-height:60vh}}@media (max-width:480px){.gallery-filters{gap:.5rem}.filter-btn{font-size:14px;padding:8px 16px}.gallery-grid{grid-template-columns:1fr}.image-container,.image-placeholder{height:180px}.lightbox-img{max-height:50vh}}.booking-page{background:#f8f9fa;min-height:100vh;padding-top:100px}.booking-header{margin-bottom:3rem;text-align:center}.booking-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1.5fr}.booking-info{sticky:true;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;height:-webkit-fit-content;height:fit-content;padding:2rem;top:120px}.booking-info h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.room-option{border:2px solid #e1e5e9;border-radius:8px;margin-bottom:2rem;padding:1.5rem;transition:border-color .3s ease}.room-option:hover{border-color:#667eea}.room-option h3{color:#333;font-size:1.2rem;margin-bottom:.5rem}.price{color:#667eea;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.room-option ul{list-style:none;padding:0}.room-option li{color:#666;padding:.3rem 0 .3rem 1.5rem;position:relative}.room-option li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.booking-policies{border-top:1px solid #e1e5e9;margin-top:2rem;padding-top:2rem}.booking-policies h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.booking-policies ul{list-style:none;padding:0}.booking-policies li{color:#666;font-size:.9rem;padding:.3rem 0}.booking-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.booking-form h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.message{border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.submit-btn{font-size:1.1rem;margin-top:1rem;padding:1rem;width:100%}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.form-note{color:#666;font-size:.9rem;font-style:italic;margin-top:1rem;text-align:center}@media (max-width:1024px){.booking-content{gap:2rem;grid-template-columns:1fr}.booking-info{position:static}}@media (max-width:768px){.booking-page{padding-top:80px}.booking-form-container,.booking-info{padding:1.5rem}.form-row{gap:0;grid-template-columns:1fr}.room-option{padding:1rem}.price{font-size:1.3rem}}@media (max-width:480px){.booking-form-container,.booking-info{padding:1rem}.page-title{font-size:2rem}.submit-btn{font-size:1rem;padding:.8rem}}.contact-page{background:#f8f9fa;min-height:100vh;padding-top:100px}.contact-header{margin-bottom:3rem;text-align:center}.contact-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1.5fr;margin-bottom:4rem}.contact-info{grid-gap:1.5rem;display:grid;gap:1.5rem}.info-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem;text-align:center;transition:transform .3s ease}.info-card:hover{transform:translateY(-5px)}.info-icon{font-size:2.5rem;margin-bottom:1rem}.info-card h3{color:#333;font-size:1.2rem;margin-bottom:1rem}.info-card p{color:#666;line-height:1.6}.map-section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.map-section h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.map-container{border-radius:8px;box-shadow:0 4px 15px #0000001a;overflow:hidden;width:100%}.map-container iframe{border:none;display:block;height:400px;width:100%}.map-info{background:#fff;border-top:1px solid #e1e5e9;padding:1.5rem}.map-features{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.feature-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;gap:.5rem;padding:.5rem}.feature-icon{font-size:1.2rem}.feature-item span:last-child{color:#555;font-size:.9rem}.map-placeholder{align-items:center;background:linear-gradient(135deg,#e3e3e3,#f0f0f0);border:2px dashed #ccc;color:#999;display:flex;font-size:1.1rem;height:400px;justify-content:center;width:100%}.map-content{color:#666;text-align:center}.map-content h3{color:#333;font-size:1.3rem;margin-bottom:1rem}.map-content p{font-size:1rem;margin-bottom:1rem}.map-features{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-top:1rem}.map-features span{color:#555;font-size:.9rem}.additional-info{margin-bottom:4rem}.info-section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;padding:2rem}.info-section h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.transport-options{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.transport-card{border:2px solid #e1e5e9;border-radius:8px;padding:1.5rem;transition:border-color .3s ease}.transport-card:hover{border-color:#667eea}.transport-card h4{color:#333;font-size:1.1rem;margin-bottom:.5rem}.transport-card p{color:#666;font-size:.9rem;line-height:1.5}.attractions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.attraction-item{background:#f8f9fa;border-radius:8px;padding:1rem;text-align:center}.attraction-item h4{color:#333;font-size:1rem;margin-bottom:.5rem}.attraction-item p{color:#667eea;font-size:.9rem;font-weight:500}.contact-cta{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:3rem;text-align:center}.contact-cta h2{font-size:2rem;margin-bottom:1rem}.contact-cta p{font-size:1.1rem;margin-bottom:2rem;opacity:.9}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cta-buttons .btn{min-width:150px}@media (max-width:1024px){.contact-content{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.contact-page{padding-top:80px}.info-card,.info-section,.map-section{padding:1.5rem}.transport-options{gap:1rem;grid-template-columns:1fr}.attractions-grid{grid-template-columns:repeat(2,1fr)}.map-container iframe{height:300px}.map-features{gap:.75rem;grid-template-columns:1fr}.map-info{padding:1rem}.feature-item{padding:.75rem}.contact-cta{padding:2rem}.contact-cta h2{font-size:1.5rem}.cta-buttons{align-items:center;flex-direction:column}}@media (max-width:480px){.attractions-grid{grid-template-columns:1fr}.contact-cta,.info-card,.info-section,.map-section{padding:1rem}}.login-page{align-items:center;background:#f0f2f5;min-height:100vh;padding:calc(90px + 2rem) 1rem 2rem}.login-page,.login-wrapper{display:flex;justify-content:center}.login-wrapper{width:100%}.login-form-panel{background:#fff;border-radius:14px;box-shadow:0 4px 24px #0000001a;max-width:420px;padding:2.5rem;width:100%}.login-form-inner{width:100%}.login-form-header{margin-bottom:2rem;text-align:center}.login-form-header h2{color:#1a202c;font-size:1.75rem;font-weight:700;margin:0 0 .4rem}.login-form-header p{color:#718096;font-size:.95rem;margin:0}.login-error{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem}.login-error svg{flex-shrink:0}.field-group{margin-bottom:1.25rem}.field-group label{color:#2d3748;display:block;font-size:.875rem;font-weight:500;margin-bottom:.4rem}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#a0aec0;flex-shrink:0;left:12px;pointer-events:none;position:absolute}.input-wrapper input{background:#f7fafc;border:1.5px solid #e2e8f0;border-radius:8px;color:#2d3748;font-size:.95rem;outline:none;padding:.7rem 2.75rem;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.input-wrapper input::placeholder{color:#cbd5e0}.input-wrapper input:focus{background:#fff;border-color:#4299e1;box-shadow:0 0 0 3px #4299e126}.input-wrapper input:disabled{cursor:not-allowed;opacity:.6}.toggle-password{align-items:center;background:none;border:none;color:#a0aec0;cursor:pointer;display:flex;padding:0;position:absolute;right:12px;transition:color .2s}.toggle-password:hover{color:#4a5568}.login-submit{align-items:center;background:linear-gradient(135deg,#2b6cb0,#2c5282);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.01em;margin-top:.5rem;padding:.8rem;transition:opacity .2s,transform .15s,box-shadow .2s;width:100%}.login-submit:hover:not(:disabled){box-shadow:0 4px 14px #2b6cb059;opacity:.92;transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;opacity:.65}.spinner{animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:16px;width:16px}.login-footer{color:#a0aec0;font-size:.8rem;margin-top:1.75rem;text-align:center}@media (max-width:480px){.login-page{align-items:flex-start;padding-top:calc(80px + 1.5rem)}.login-form-panel{padding:2rem 1.25rem}}.admin-login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{max-width:400px;width:100%}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;overflow:hidden}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.login-header h1{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.login-header p{font-size:1rem;opacity:.9}.login-form{padding:2rem}.error-message{font-size:.9rem;margin-bottom:1.5rem}.login-btn{font-size:1rem;font-weight:600;margin-top:1rem;padding:12px;width:100%}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-footer{background:#f8f9fa;border-top:1px solid #e1e5e9;padding:1.5rem}.demo-credentials{color:#666;font-size:.9rem;line-height:1.5;margin:0;text-align:center}.demo-credentials strong{color:#333}@media (max-width:480px){.admin-login-page{padding:15px}.login-footer,.login-form,.login-header{padding:1.5rem}.login-header h1{font-size:1.5rem}}:root{--sidebar-w:240px;--header-h:90px;--nav-bg:#0f172a;--nav-hover:#1e293b;--nav-active:#2563eb;--accent:#2563eb;--accent-light:#eff6ff;--success:#16a34a;--success-light:#f0fdf4;--warning:#d97706;--warning-light:#fffbeb;--danger:#dc2626;--danger-light:#fef2f2;--info:#0891b2;--info-light:#ecfeff;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--bg:#f1f5f9;--card:#fff;--radius:10px;--shadow:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014}.admin-dashboard{background:#f1f5f9;background:var(--bg);display:flex;min-height:100vh;padding-top:90px;padding-top:var(--header-h)}.admin-sidebar{background:#0f172a;background:var(--nav-bg);bottom:0;display:flex;flex-direction:column;left:0;overflow-y:auto;position:fixed;top:90px;top:var(--header-h);width:240px;width:var(--sidebar-w);z-index:100}.sidebar-brand{border-bottom:1px solid #ffffff0f;padding:20px 20px 16px}.sidebar-brand h2{color:#fff;font-size:1rem;font-weight:700;letter-spacing:-.3px;margin:0}.sidebar-brand p{color:#94a3b8;color:var(--text-muted);font-size:.72rem;letter-spacing:.8px;margin:2px 0 0;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 10px}.nav-item{align-items:center;background:none;border:none;border-radius:7px;color:#94a3b8;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:10px;padding:9px 12px;position:relative;text-align:left;transition:all .15s;width:100%}.nav-item:hover{background:#1e293b;background:var(--nav-hover);color:#e2e8f0}.nav-item.active{background:#2563eb;background:var(--nav-active);color:#fff}.nav-item .nav-icon{flex-shrink:0;font-size:1rem;text-align:center;width:20px}.nav-item .nav-label{flex:1 1}.nav-badge{background:#ffffff26;border-radius:20px;color:#fff;font-size:.7rem;font-weight:600;min-width:20px;padding:1px 7px;text-align:center}.nav-item.active .nav-badge{background:#ffffff40}.sidebar-footer{border-top:1px solid #ffffff0f;display:flex;flex-direction:column;gap:2px;padding:12px 10px}.sidebar-user{align-items:center;background:none;border:none;border-radius:7px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:background .15s;width:100%}.sidebar-user:hover{background:#1e293b;background:var(--nav-hover)}.sidebar-avatar{align-items:center;background:#2563eb;background:var(--nav-active);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:32px;justify-content:center;width:32px}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{color:#e2e8f0;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{color:#94a3b8;color:var(--text-muted);font-size:.72rem}.sidebar-btn{align-items:center;background:none;border:none;border-radius:7px;color:#94a3b8;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:10px;padding:9px 12px;text-align:left;transition:all .15s;width:100%}.sidebar-btn:hover{background:#1e293b;background:var(--nav-hover);color:#e2e8f0}.sidebar-btn.danger:hover{background:#dc262626;color:#fca5a5}.dashboard-main{display:flex;flex:1 1;flex-direction:column;margin-left:240px;margin-left:var(--sidebar-w);min-width:0}.dashboard-topbar{align-items:center;background:#fff;background:var(--card);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;height:56px;justify-content:space-between;padding:0 28px;position:-webkit-sticky;position:sticky;top:90px;top:var(--header-h);z-index:50}.topbar-title h1{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.topbar-title p{color:#94a3b8;color:var(--text-muted);font-size:.78rem;margin:0}.topbar-actions{gap:10px}.btn-refresh,.topbar-actions{align-items:center;display:flex}.btn-refresh{background:#f1f5f9;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:7px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s}.btn-refresh:hover{background:#e2e8f0;background:var(--border);color:#0f172a;color:var(--text-primary)}.dashboard-body{flex:1 1;padding:24px 28px}.error-banner{align-items:center;background:#fef2f2;background:var(--danger-light);border:1px solid #fecaca;border-radius:10px;border-radius:var(--radius);color:#dc2626;color:var(--danger);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.error-banner button{background:none;border:none;color:#dc2626;color:var(--danger);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 4px}.loading-screen{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.loading-spinner{animation:spin .7s linear infinite;border:3px solid #e2e8f0;border-top-color:#2563eb;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.stats-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow);gap:16px;padding:20px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md)}.stat-icon-wrap{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.4rem;height:48px;justify-content:center;width:48px}.stat-icon-wrap.blue{background:#eff6ff;background:var(--accent-light)}.stat-icon-wrap.green{background:#f0fdf4;background:var(--success-light)}.stat-icon-wrap.orange{background:#fffbeb;background:var(--warning-light)}.stat-icon-wrap.purple{background:#f5f3ff}.stat-info h3{color:#0f172a;color:var(--text-primary);font-size:1.6rem;font-weight:700;line-height:1;margin:0 0 2px}.stat-info p{color:#94a3b8;color:var(--text-muted);font-size:.8rem;font-weight:500}.overview-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.overview-card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow);padding:20px}.overview-card h3{color:#0f172a;color:var(--text-primary);font-size:.9rem;font-weight:700;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.overview-row{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;font-size:.875rem;justify-content:space-between;padding:8px 0}.overview-row:last-child{border-bottom:none}.overview-row .label{color:#64748b;color:var(--text-secondary)}.overview-row .value{color:#0f172a;color:var(--text-primary);font-weight:600}.section-card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow);overflow:hidden}.section-meta{color:#94a3b8;color:var(--text-muted);font-size:.8rem;font-weight:500}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn{align-items:center;border-radius:7px;display:inline-flex;font-size:.82rem;gap:6px;padding:8px 16px;transition:all .15s;white-space:nowrap}.btn-primary{background:#2563eb;background:var(--accent)}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#f1f5f9;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);color:#64748b;color:var(--text-secondary)}.btn-secondary:hover{background:#e2e8f0;background:var(--border);color:#0f172a;color:var(--text-primary)}.btn-success{background:#16a34a;background:var(--success)}.btn-success:hover{background:#15803d}.btn-danger{background:#dc2626;background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-warning{background:#d97706;background:var(--warning);color:#fff}.btn-warning:hover{background:#b45309}.btn-sm{border-radius:5px;font-size:.72rem;padding:3px 8px}.table-wrap{overflow-x:auto}table.data-table{border-collapse:collapse;font-size:.85rem;width:100%}.data-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#94a3b8;color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:11px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table tbody td{border-bottom:1px solid #f1f5f9;color:#0f172a;color:var(--text-primary);padding:13px 16px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#f8fafc}.cell-primary{color:#0f172a;color:var(--text-primary);display:block;font-weight:600}.cell-secondary{color:#94a3b8;color:var(--text-muted);display:block;font-size:.78rem;margin-top:2px}.cell-mono{color:#64748b;color:var(--text-secondary);font-family:monospace;font-size:.78rem}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 10px;text-transform:capitalize;white-space:nowrap}.badge-pending{background:#fef3c7;color:#92400e}.badge-confirmed{background:#d1fae5;color:#065f46}.badge-cancelled{background:#fee2e2;color:#991b1b}.badge-approved,.badge-completed{background:#d1fae5;color:#065f46}.badge-failed,.badge-rejected{background:#fee2e2;color:#991b1b}.badge-paid{background:#d1fae5;color:#065f46}.badge-overdue{background:#fee2e2;color:#991b1b}.badge-partial{background:#ffedd5;color:#9a3412}.badge-waived{background:#f1f5f9;color:#475569}.badge-active{background:#d1fae5;color:#065f46}.badge-inactive{background:#fee2e2;color:#991b1b}.badge-draft{background:#f1f5f9;color:#475569}.role-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 10px;text-transform:capitalize}.role-admin{background:#ede9fe;color:#5b21b6}.role-staff{background:#dbeafe;color:#1e40af}.role-student{background:#d1fae5;color:#065f46}.method-badge{align-items:center;background:#f1f5f9;border-radius:6px;color:#475569;display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 10px;text-transform:uppercase}.action-group{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.empty-state{color:#94a3b8;color:var(--text-muted);padding:60px 20px;text-align:center}.empty-state .empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.empty-state h3{color:#64748b;color:var(--text-secondary);font-size:1rem;margin:0 0 6px}.empty-state p{font-size:.85rem;margin:0}.filters-bar{align-items:flex-end;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px}.filter-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.filter-field label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.filter-field input,.filter-field select{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#0f172a;color:var(--text-primary);font-size:.82rem;outline:none;padding:7px 10px;transition:border-color .15s}.filter-field input:focus,.filter-field select:focus{border-color:#2563eb;border-color:var(--accent)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;inset:0}.modal{background:var(--card);box-shadow:0 20px 60px #0003;max-width:520px}.modal.large-modal{max-width:680px}.modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:18px 24px}.modal-header h3{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:700}.modal-close{background:none;border:none;border-radius:4px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:1.3rem;line-height:1;padding:2px 6px;transition:all .15s}.modal-close:hover{background:#f1f5f9;background:var(--bg);color:#0f172a;color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:16px;padding:24px}.modal-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);gap:10px;margin-top:8px;padding-top:8px}.form-row{grid-gap:14px;gap:14px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{color:#64748b;color:var(--text-secondary);font-size:.8rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#f8fafc;border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:7px;color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s,background .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;background:var(--card);border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{min-height:80px;resize:vertical}.form-error{background:#fef2f2;background:var(--danger-light);border:1px solid #fecaca;border-radius:7px;color:#dc2626;color:var(--danger);font-size:.82rem;padding:10px 14px}.student-selection-actions{display:flex;gap:8px;margin-bottom:8px}.student-selection-list{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:7px;max-height:200px;overflow-y:auto}.student-checkbox{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;gap:10px;padding:9px 12px;transition:background .1s}.student-checkbox:last-child{border-bottom:none}.student-checkbox:hover{background:#eff6ff;background:var(--accent-light)}.student-checkbox input[type=checkbox]{accent-color:#2563eb;accent-color:var(--accent);flex-shrink:0;height:15px;width:15px}.amount-stack{display:flex;flex-direction:column;gap:2px}.amount-main{color:#0f172a;color:var(--text-primary);font-weight:700}.amount-sub{color:#94a3b8;color:var(--text-muted);font-size:.75rem}.amount-due{color:#dc2626;color:var(--danger);font-size:.75rem;font-weight:600}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}}@media (max-width:768px){:root{--sidebar-w:0px}.admin-sidebar{display:none}.dashboard-main{margin-left:0}.dashboard-body{padding:16px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-topbar{padding:0 16px}}.fee-filters-container{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:14px 20px}.filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:140px}.filter-group label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.filter-group input,.filter-group select{background:#fff;background:var(--card);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:6px;color:#0f172a;color:var(--text-primary);font-size:.82rem;outline:none;padding:7px 10px;transition:border-color .15s}.filter-group input:focus,.filter-group select:focus{border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.filter-actions{align-items:flex-end;display:flex;gap:8px;padding-bottom:1px}.error-message{background:#fef2f2;background:var(--danger-light);border:1px solid #fecaca;border-radius:7px;color:#dc2626;color:var(--danger);font-size:.82rem;padding:10px 14px}.btn-small{align-items:center;display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;padding:5px 10px;transition:all .15s;white-space:nowrap}.btn-small.btn-success{background:#16a34a;background:var(--success);color:#fff}.btn-small.btn-success:hover{background:#15803d}.btn-small.btn-warning{background:#d97706;background:var(--warning);color:#fff}.btn-small.btn-warning:hover{background:#b45309}.btn-small.btn-danger{background:#dc2626;background:var(--danger);color:#fff}.btn-small.btn-danger:hover{background:#b91c1c}.btn-small.btn-primary{background:#2563eb;background:var(--accent);color:#fff}.btn-small.btn-primary:hover{background:#1d4ed8}.btn-small.btn-secondary{background:#f1f5f9;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);color:#64748b;color:var(--text-secondary)}.btn-small.btn-secondary:hover{background:#e2e8f0;background:var(--border)}.no-actions{color:#94a3b8;color:var(--text-muted);font-size:.78rem;font-style:italic}.section{margin-bottom:20px}.section-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:16px 20px}.section-header h2{color:#0f172a;color:var(--text-primary);font-size:.95rem;font-weight:700}.item-count{color:#94a3b8;color:var(--text-muted);font-size:.8rem;font-weight:500}.welcome-section{margin-bottom:20px}.welcome-section h1{color:#0f172a;color:var(--text-primary);font-size:1.4rem;font-weight:700;margin:0 0 4px}.welcome-section p{color:#94a3b8;color:var(--text-muted);font-size:.875rem;margin:0}.staff-dashboard{background:#f8f9fa;min-height:100vh;padding-top:90px}.staff-navbar{background:linear-gradient(135deg,#fd7e14,#e83e8c);box-shadow:0 2px 10px #0000001a;color:#fff;left:0;position:fixed;right:0;top:90px;z-index:998}.refresh-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .3s ease}.refresh-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.stat-icon{background:linear-gradient(135deg,#fd7e14,#e83e8c)}.tab-navigation{background:#fff;border-radius:12px 12px 0 0;box-shadow:0 4px 20px #0000001a;display:flex;margin-bottom:0}.tab-btn{background:none;border:none;border-radius:12px 12px 0 0;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .3s ease}.tab-btn:first-child{border-radius:12px 0 0 0}.tab-btn:last-child{border-radius:0 12px 0 0}.tab-btn.active{background:linear-gradient(135deg,#fd7e14,#e83e8c);color:#fff}.tab-btn:hover:not(.active){background:#f8f9fa}.section{border-radius:0 0 12px 12px}.bookings-table-container{overflow-x:auto}.bookings-table{border-collapse:collapse;width:100%}.bookings-table th{background:#f8f9fa;color:#333;font-weight:600;text-align:left}.bookings-table td,.bookings-table th{border-bottom:1px solid #e1e5e9;padding:1rem}.bookings-table td{vertical-align:top}.guest-info strong{color:#333;display:block;margin-bottom:.25rem}.guest-info small{color:#666;font-size:.8rem}.contact-info div,.date-info div,.room-info div{color:#666;font-size:.9rem;margin-bottom:.25rem}.amount-info div{font-size:.9rem;margin-bottom:.25rem}.amount-info strong{color:#28a745}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-small{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px;transition:all .3s ease}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838;transform:translateY(-1px)}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.btn-info:hover,.btn-secondary:hover{transform:translateY(-1px)}.expenses-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:1.5rem}.expense-card{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;transition:all .3s ease}.expense-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.expense-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.expense-header h4{color:#333;font-size:1.1rem;margin:0}.expense-details p{color:#666;font-size:.9rem;margin:.5rem 0}.expense-details .amount{color:#fd7e14;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.expense-details strong{color:#333}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#333;margin:0}.modal-form{padding:1.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#fd7e14;box-shadow:0 0 0 3px #fd7e141a;outline:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn{border-radius:6px;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem}.btn-primary{background:linear-gradient(135deg,#fd7e14,#e83e8c)}.btn-primary:hover{box-shadow:0 4px 12px #fd7e144d;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}@media (max-width:1024px){.navbar-container{padding:0 1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.expenses-grid{grid-template-columns:1fr}.bookings-table{font-size:.9rem}}@media (max-width:768px){.staff-dashboard{padding-top:80px}.staff-navbar{top:80px}.navbar-container{height:50px}.navbar-brand h2{font-size:1.1rem}.user-name{display:none}.refresh-btn{font-size:.8rem;padding:6px 12px}.dashboard-content{margin-top:50px}.stats-grid{grid-template-columns:1fr}.tab-navigation{flex-direction:column}.tab-btn{border-radius:0}.tab-btn:first-child{border-radius:12px 12px 0 0}.tab-btn:last-child{border-radius:0}.section-header{flex-direction:column;gap:1rem;text-align:center}.bookings-table-container{font-size:.8rem}.action-buttons{flex-direction:column}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.user-dropdown{min-width:180px;right:-50px}}@media (max-width:480px){.staff-dashboard{padding-top:70px}.staff-navbar{top:70px}.dashboard-content{margin-top:50px;padding:1rem 0}.welcome-section h1{font-size:1.5rem}.stat-card{padding:1rem}.stat-icon{height:50px;width:50px}.stat-icon,.stat-info h3{font-size:1.5rem}.navbar-brand h2{font-size:1rem}.modal{margin:10px}.user-dropdown{right:-80px}}.student-dashboard{background:#f8f9fa;min-height:100vh;padding-top:90px}.student-navbar{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 10px #0000001a;color:#fff;left:0;position:fixed;right:0;top:90px;z-index:998}.navbar-container{align-items:center;display:flex;height:60px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.navbar-brand h2{font-size:1.3rem;font-weight:600;margin:0;opacity:.9}.navbar-menu{align-items:center;display:flex;gap:1rem}.navbar-item{position:relative}.user-menu-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:10px;padding:8px 12px;transition:all .3s ease}.user-menu-btn:hover{background:#fff3}.user-avatar{align-items:center;background:#ffffff4d;border-radius:50%;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{font-size:.9rem;font-weight:500}.dropdown-arrow{font-size:.7rem;transition:transform .3s ease}.user-dropdown{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;margin-top:8px;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1001}.dropdown-header{background:#f8f9fa;border-bottom:1px solid #e1e5e9;padding:1rem}.user-info strong{color:#333;display:block;font-size:.9rem;margin-bottom:2px}.user-info small{color:#666;font-size:.8rem}.dropdown-divider{background:#e1e5e9;height:1px}.dropdown-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background:#f8f9fa}.logout-item{border-top:1px solid #e1e5e9;color:#dc3545}.logout-item:hover{background:#fee}.dashboard-content{margin-top:60px;padding:2rem 0}.welcome-section{margin-bottom:2rem}.welcome-section h1{color:#333;font-size:2rem;margin-bottom:.5rem}.welcome-section p{color:#666;font-size:1.1rem}.error-message{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;justify-content:space-between;margin:2rem 0;padding:12px 16px}.close-btn{background:none;border:none;color:#c33;cursor:pointer;font-size:1.5rem;margin-left:1rem;padding:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.stat-info h3{color:#333;font-size:2rem;margin-bottom:.25rem}.stat-info p{color:#666;font-size:.9rem;margin:0}.section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;overflow:hidden}.section-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:1.5rem}.section-header h2{color:#333;font-size:1.5rem;margin:0}.item-count{background:#f8f9fa;border-radius:20px;color:#666;font-size:.9rem;padding:4px 12px}.no-items{color:#666;padding:4rem 2rem;text-align:center}.no-items-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-items h3{color:#333;margin-bottom:.5rem}.items-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:1.5rem}.item-card{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;transition:all .3s ease}.item-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.item-header h4{color:#333;font-size:1.1rem;margin:0}.status-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 12px;text-transform:capitalize}.item-details p{color:#666;font-size:.9rem;margin:.5rem 0}.item-details strong{color:#333}.payments-table-container{overflow-x:auto}.payments-table{border-collapse:collapse;width:100%}.payments-table th{background:#f8f9fa;color:#333;font-weight:600;text-align:left}.payments-table td,.payments-table th{border-bottom:1px solid #e1e5e9;padding:1rem}.payments-table td{vertical-align:top}.payment-desc strong{color:#333;display:block;margin-bottom:.25rem;text-transform:capitalize}.payment-desc small{color:#666;font-size:.8rem}.amount{color:#28a745;font-weight:600}.method{color:#666;font-size:.9rem}.reference{color:#666;font-family:monospace;font-size:.8rem}.loading{font-size:1.2rem;padding:4rem}@media (max-width:1024px){.navbar-container{padding:0 1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.items-grid{grid-template-columns:1fr}}@media (max-width:768px){.student-dashboard{padding-top:80px}.student-navbar{top:80px}.navbar-container{height:50px}.navbar-brand h2{font-size:1.1rem}.user-name{display:none}.dashboard-content{margin-top:50px}.stats-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:1rem;text-align:center}.payments-table-container{font-size:.8rem}.user-dropdown{min-width:180px;right:-50px}}@media (max-width:480px){.student-dashboard{padding-top:70px}.student-navbar{top:70px}.dashboard-content{margin-top:50px;padding:1rem 0}.welcome-section h1{font-size:1.5rem}.stat-card{padding:1rem}.stat-icon{height:50px;width:50px}.stat-icon,.stat-info h3{font-size:1.5rem}.navbar-brand h2{font-size:1rem}.user-dropdown{right:-80px}}.App{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}.container{margin:0 auto;max-width:1200px;padding:0 20px}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #667eea;color:#667eea}.btn-secondary:hover{background:#667eea;color:#fff}.section{padding:80px 0}.section-title{color:#333;font-size:2.5rem;margin-bottom:20px;text-align:center}.section-subtitle{color:#666;font-size:1.2rem;margin-bottom:60px;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.form-group{margin-bottom:20px}.form-label{color:#333;display:block;font-weight:600;margin-bottom:8px}.form-input{border:2px solid #e1e5e9;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:#667eea;outline:none}.form-textarea{border:2px solid #e1e5e9;border-radius:8px;font-size:16px;min-height:120px;padding:12px 16px;resize:vertical;transition:border-color .3s ease;width:100%}.form-textarea:focus{border-color:#667eea;outline:none}.loading{color:#666;font-size:18px;padding:40px;text-align:center}.error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.error,.success{margin-bottom:20px;padding:12px 16px}.success{background:#efe;border:1px solid #cfc;border-radius:8px;color:#363}@media (max-width:768px){.container{padding:0 15px}.section{padding:60px 0}.section-title{font-size:2rem}.btn{font-size:14px;padding:10px 20px}}