body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.modal-overlay{height:100%;width:100%;z-index:200}.modal{background:url(https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=800&q=80) no-repeat 50%/cover;border-radius:15px;box-shadow:0 5px 20px #0000004d;color:#fff;padding:2rem;position:relative;text-align:center;width:350px}.modal-title{font-size:1.8rem;text-shadow:1px 1px 3px #000c}.modal form{display:flex;flex-direction:column;gap:1rem}.modal input{border:none;border-radius:6px;cursor:pointer;outline:none;padding:.7rem}.modal button{background-color:#000;border:2px solid #0000;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:.7rem 1.5rem;transition:all .3s ease}.modal button:hover{background-color:#000c;border:2px solid #f4b400;box-shadow:0 0 8px #f4b400,0 0 15px #f4b400}.navbar{align-items:center;background:#0000;box-sizing:border-box;display:flex;justify-content:space-between;left:0;padding:1.5rem 4rem;position:absolute;top:0;width:100%;z-index:100}.logo{color:#1e3a8a;cursor:pointer;font-size:1.5rem;font-weight:700;text-shadow:0 0 10px #f4b40099,0 0 20px #f4b40066;transition:all .3s ease}.logo:hover{text-shadow:0 0 15px #f4b400cc,0 0 30px #f4b40099;transform:scale(1.05)}.nav-links{display:flex;gap:2rem;list-style:none;margin-right:90px}.nav-links a{color:#1e3a8a;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s ease}.nav-links a:hover{color:#d4af37;text-decoration:underline;transform:translateY(-2px)}.nav-actions{display:flex;gap:1rem}.logout-btn{background-color:#1e3a8a;border:1px solid #0000;font-weight:600;padding:.5rem 1.2rem;transition:all .3s ease}.logout-btn:hover{background-color:#d4af37;box-shadow:0 4px 10px #d4af374d;transform:translateY(-2px)}.logout-btn-mobile{background:#ff4d4d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.1rem;padding:.8rem 1rem;text-align:left;width:100%}@media (max-width:768px){.desktop-only{display:none}}body.dark-mode .logout-btn{background-color:#d4af37;color:#000}body.dark-mode .logout-btn:hover{background-color:initial;border:1px solid #d4af37;color:#d4af37}body{background:#fff;color:#000;transition:background .3s ease,color .3s ease}body.dark-mode{background:#064e3b;color:#f4b400}body.dark-mode .navbar{color:#f4b400}body.dark-mode .nav-links a{color:#f1f5f9}body.dark-mode .nav-links a:hover{color:#1e3a8a;text-decoration:underline;transform:translateY(-2px)}body.dark-mode .login-btn{background-color:#d4af37;color:#000}body.dark-mode .login-btn:hover{background-color:#000;border:2px solid #d4af37;box-shadow:0 0 10px #d4af37,0 0 20px #d4af3766;color:#d4af37;transform:translateY(-2px)}body.dark-mode .logo{color:#f1f5f9;text-shadow:0 0 10px #1e3a8acc,0 0 20px #1e3a8a99}body.dark-mode .logo:hover{text-shadow:0 0 15px #1e3a8a,0 0 30px #1e3a8acc}.theme-toggle{background:none;border:none;color:#064e3b;cursor:pointer;font-size:1.3rem;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.2)}@media (max-width:768px){.nav-links{display:none}.navbar{flex-direction:row;justify-content:space-between;padding:1rem}.nav-actions{gap:.5rem}}@media (max-width:480px){.logo{font-size:1.2rem}.nav-actions button{font-size:.9rem;padding:.4rem .8rem}}.hamburger{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.8rem}.drawer{align-items:flex-start;background:#111;color:#fff;display:flex;flex-direction:column;height:100%;padding:2rem 1rem;position:fixed;right:-100%;top:0;transition:right .3s ease;width:250px;z-index:300}.drawer.open{right:0}.drawer .close-drawer{align-self:flex-end;background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;margin-bottom:1rem}.drawer ul{list-style:none;padding:0;width:100%}.drawer ul li{margin:1rem 0}.drawer ul a{color:#fff;font-size:1.2rem;text-decoration:none}.drawer ul a:hover{color:#f4b400}@media (max-width:768px){.nav-links{display:none}.hamburger{display:block}}.toast{animation:fadeInOut 3s ease forwards;background:#28a745;border-radius:6px;box-shadow:0 4px 10px #0003;color:#fff;font-weight:700;padding:.8rem 1.2rem;position:fixed;right:20px;top:20px;z-index:999}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-20px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.hero{background-position:50%;background-size:cover;height:100vh;overflow:hidden;padding-top:80px;position:relative}.hero,.overlay{align-items:center;display:flex;justify-content:center;width:100%}.overlay{background:#3128288c;height:100%;padding:0 8%}.hero-content{color:#fff;max-width:900px;padding:2rem;text-align:center}.hero-content h1,.hero-content h4,.hero-content p{-webkit-text-fill-color:#0000;animation:glow-shimmer 10s ease infinite;background:linear-gradient(270deg,#fff,#ff8c00,#fff,#ffc107,#fff);background-clip:text;-webkit-background-clip:text;background-size:800% 800%;color:#0000;font-weight:700}.hero-content h4{font-size:1.7rem}.hero-content h1{font-size:2.8rem;margin:1rem 0}.hero-content p{-webkit-text-fill-color:#fff;color:#fff;font-size:1.1rem;margin-bottom:2rem}@keyframes glow-shimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.search-box{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:1rem}.search-box input,.search-box select{border:1px solid #ddd;border-radius:8px;flex:1 1;font-family:inherit;min-width:150px;outline:none;padding:.8rem 1rem}.search-box button{background-color:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:.7rem 2rem;transition:.3s}.search-box button:hover{background-color:#f4b400;color:#000}.hero-about{background-color:#fff;color:#333;padding:100px 10%}.about-container{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1.2fr .8fr;margin:0 auto;max-width:1200px}.about-label{color:#d4af37;font-size:.9rem;font-weight:700;letter-spacing:2px}.about-info h2{color:#1a1a1a;font-size:2.8rem;line-height:1.2;margin:15px 0}.about-info p{color:#666;font-size:1.05rem;line-height:1.8;margin-bottom:30px}.about-stats{display:flex;gap:40px}.stat-item h3{color:#d4af37;font-size:2.2rem;margin-bottom:5px}.stat-item p{color:#999;font-size:.85rem;letter-spacing:1px;margin:0;text-transform:uppercase}.about-feature{background:#fdfdfd;border-left:5px solid #d4af37;border-radius:8px;box-shadow:0 15px 40px #0000000d;padding:50px}.quote-box p{color:#222;font-size:1.3rem;font-style:italic;line-height:1.6}.highlighted-room{animation:goldGlow .5s ease-in-out 3;border:2px solid gold;box-shadow:0 0 30px #ffd700cc;transform:scale(1.02);transition:all .3s ease}@keyframes goldGlow{0%{border-color:#ffd70080;box-shadow:0 0 0 0 #ffd70066}50%{border-color:gold;box-shadow:0 0 30px 10px #ffd700cc}to{border-color:#ffd70080;box-shadow:0 0 0 0 #ffd70066}}@media (max-width:1024px){.hero{height:80vh;padding:80px 4% 0}.hero-content h1{font-size:2.2rem}.about-container{gap:30px}}@media (max-width:900px){.about-container{grid-template-columns:1fr;text-align:center}.about-stats{justify-content:center}.about-feature{margin-top:20px}}@media (max-width:768px){.hero{height:auto;min-height:80vh;padding:100px 1rem 3rem}.hero-content h1{font-size:1.8rem}.search-box{flex-direction:column;width:100%}.search-box button,.search-box input,.search-box select{width:100%}}@media (max-width:480px){.hero-content h1{font-size:1.6rem}.hero-about{padding:60px 5%}.about-info h2{font-size:2rem}}.featured-section{background:#fff;padding:2rem 10% 5rem;text-align:center}.section-header .sub-title{color:#d4af37;letter-spacing:2px;margin-bottom:.2rem;text-transform:uppercase}.section-header .main-title{color:#1e3a8a;font-size:2.5rem;margin-bottom:.5rem}.hotel-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.hotel-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #00000014;overflow:hidden;transition:transform .3s ease}.hotel-card:hover{border:3px solid #1e3a8a;box-shadow:0 10px 25px #1e3a8a66;transform:translateY(-10px)}.image-container{height:200px;position:relative}.image-container img{height:100%;object-fit:cover;width:100%}.price-tag{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border-radius:50px;color:#1e3a8a;cursor:pointer;font-weight:700;padding:5px 12px;position:absolute;right:15px;top:15px}.hotel-details{align-items:center;cursor:pointer;display:flex;flex-direction:column;padding:15px;text-align:center}.hotel-info{padding:1.5rem;text-align:left}.hotel-info h3{color:#333;margin-bottom:.5rem}.location{color:#666;font-size:.9rem;margin-bottom:1.5rem}.book-btn{background:#1e3a8a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px 25px;transition:.3s}.book-btn:hover{background:#d4af37;box-shadow:0 5px 15px #d4af3766}.hotel-beds{color:#666;font-size:.85rem;margin:5px 0}.star{color:#ffb400;font-size:1rem}.hotel-price b{color:#333;font-size:1.1rem}.card-actions{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:20px;width:100%}.view-details-btn{background:#fff;border:1px solid #ccc;border-radius:8px;font-weight:600;padding:10px 20px;transition:all .3s ease}.view-details-btn:hover{background:#1e3a8a;border-color:#f4b400;color:#fff}.status-row{align-items:center;background:#f8fafc;border-radius:6px;display:flex;gap:8px;margin:15px 0;padding:10px}.status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.available{background-color:#22c55e;box-shadow:0 0 8px #22c55e66}.unavailable{background-color:#ef4444}.status-text{color:#334155;font-size:.9rem;font-weight:600}.view-more{margin-bottom:1px;margin-top:20px;text-align:center}.view-more button{background:#000;border:1.5px solid #ccc;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.9rem 1.5rem;transition:all .3s ease}.view-more button:hover{background:#f4b400;border:3px solid #1e3a8a;color:#fff;transform:translateY(-2px)}.hotel-card{position:relative;transition:all .3s ease}.hotel-card.highlight-glow{animation:glowPulse .5s ease-in-out 3;background:linear-gradient(135deg,#fff8e7,#fff);border:2px solid gold;box-shadow:0 0 30px #ffd700cc;transform:scale(1.02)}@keyframes glowPulse{0%{border-color:#ffd70080;box-shadow:0 0 0 0 #ffd70066}50%{border-color:gold;box-shadow:0 0 30px 10px #ffd700cc}to{border-color:#ffd70080;box-shadow:0 0 0 0 #ffd70066}}.clear-search-btn{background:#6c757d;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;margin-left:15px;padding:5px 15px;transition:background .3s}.clear-search-btn:hover{background:#5a6268}.search-results-count{color:#28a745;font-size:16px;font-weight:500;margin-top:15px;text-align:center}.no-results{background:#f8f9fa;border-radius:10px;margin:20px 0;padding:40px;text-align:center}.no-results p{color:#dc3545;font-size:18px;margin-bottom:15px}.hotel-location{align-items:center;color:#6c757d;display:flex;font-size:14px;gap:5px;margin:5px 0}body.dark-mode .featured-section{background:#064e3b}body.dark-mode .section-header .main-title{color:#fff}body.dark-mode .hotel-card{background:#022c22;border:1px solid #d4af3733}body.dark-mode .hotel-card:hover{border:3px solid #d4af37}body.dark-mode .hotel-info h3{color:#fff}body.dark-mode .view-more button:hover{background:#1e3a8a;border:3px solid #fff}body.dark-mode .view-details-btn:hover{background:#f4b400;border-color:#1e3a8a;color:#fff}.modal-overlay{background:#000c;height:100vh;padding:20px;width:100vw;z-index:99999}.vesta-theme{background:#fff;border-radius:24px;box-shadow:0 15px 40px #0003;max-height:90vh;max-width:550px;overflow-y:auto;padding:2.5rem;position:relative;width:100%}.modal-title{color:#1a1a1a;font-size:1.6rem;font-weight:700;margin-bottom:1.5rem}.form-row{display:flex;gap:15px}.form-group{flex:1 1}.booking-form label{color:#444;display:block;font-size:.9rem;font-weight:600;margin:10px 0 5px}.booking-form input,.booking-form textarea{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;padding:12px;width:100%}.price-summary{background:#f1f5f9;border-radius:12px;margin:20px 0;padding:15px;text-align:right}.vesta-actions{display:flex;flex-direction:column;gap:10px}close-btn-flat{background:#064e3b;border:none;border-radius:12px;color:#fff;cursor:pointer;padding:12px}.close-btn-flat:hover{background-color:#f4b400;color:#fff;transform:translateY(-2px)}.confirm-btn{background:#f4b400}.Payment-btn,.confirm-btn{border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px;transition:.3s}.Payment-btn{background:#1e3a8a}.close-btn-flat{background:#064e3b;border:none;border-radius:12px;color:#fff;cursor:pointer;padding:12px}.payment-selection-overlay{align-items:center;background:#0006;border-radius:24px;position:absolute;z-index:50}.payment-selection-card{background:#fff;border-radius:20px;box-shadow:0 10px 25px #0003;max-width:400px;padding:30px;text-align:center;width:90%}.pay-btn{padding:16px}.mpesa-btn{background-color:#5cb85c;color:#fff}.card-btn{background-color:#1e3a8a;color:#fff}.cancel-btn{background-color:#eee;color:#666;margin-top:10px;width:100%}.mpesa-submit-btn{background-color:#2d3748;border:none;border-radius:12px;box-shadow:0 0 0 #00c2ee00;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-bottom:12px;padding:16px;transition:all .3s ease;width:100%}.mpesa-submit-btn:hover{background-color:#00c2ee;box-shadow:0 0 20px #00c2ee,0 0 40px #00c2ee99;color:#fff;transform:translateY(-2px)}.mpesa-integration-wrapper{align-items:center;background:#fff;border-radius:24px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-width:420px;overflow:hidden;padding:30px;width:95%}.back-btn-center{background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;font-weight:600;margin-top:10px;padding:12px 25px;transition:all .2s}.back-btn-center:hover{background-color:#e2e8f0;color:#1e293b}.booking-form input:focus,.booking-form textarea:focus,.mpesa-integration-wrapper input:focus{background:#fff;border:2px solid #00c2ee;box-shadow:0 0 12px #00c2ee99;outline:none;transition:all .3s ease-in-out}.mpesa-header{-webkit-text-fill-color:#0000;animation:shine 3s linear infinite;background:linear-gradient(90deg,#333,#00c2ee,#333);-webkit-background-clip:text;background-clip:text;background-size:200% auto;margin-bottom:25px}@keyframes shine{to{background-position:200%}}.receipt-card{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;margin:15px 0;padding:20px;text-align:left}.receipt-row{border-bottom:1px solid #f1f5f9;font-size:.9rem;padding-bottom:4px}.print-btn{background:#22c55e;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:12px 20px;transition:.3s}.print-btn:hover{background:#16a34a;transform:translateY(-1px)}.payment-selection-overlay{align-items:flex-start;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;top:0;width:100%;z-index:2000}.mpesa-integration-wrapper,.paystack-integration-wrapper{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;margin:auto;max-width:450px;padding:20px;position:relative;width:100%}.back-btn-center{margin-bottom:20px;margin-top:20px}@media print{body *{visibility:hidden}.success-message,.success-message *{visibility:visible}.success-message{left:0;position:absolute;top:0;width:100%}.close-btn-flat,.confirm-btn,.print-btn{display:none}}.mpesa-card{background:#fff;border-radius:24px;margin:auto;max-width:450px;padding:40px;text-align:center}.mpesa-header{color:#333;font-size:1.8rem;font-weight:800;margin-bottom:30px}.mpesa-header span{color:#00c2ee}.header-accent{background:#00c2ee;border-radius:10px;height:4px;margin:-20px auto 30px;width:50px}.mpesa-field label{color:#000;display:block;font-size:1.1rem;font-weight:700;margin-bottom:8px;text-align:left}.mpesa-field input{background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;font-size:1.1rem;margin-bottom:20px;padding:15px 20px;width:100%}.mpesa-receipt-btn,.mpesa-submit-btn{background-color:#2d3748;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-bottom:12px;padding:16px;transition:all .2s ease;width:100%}.mpesa-receipt-btn:hover,.mpesa-submit-btn:hover{background-color:#1a202c;transform:translateY(-1px)}.mpesa-status{font-weight:600;margin-top:15px}@media print{@page{size:auto;margin:0}body,html{height:100%!important;margin:0!important;overflow:hidden!important;padding:0!important;visibility:hidden}.success-view,.success-view *{visibility:visible}.success-view{border:none!important;box-shadow:none!important;left:50%;margin:0;max-width:450px;padding:0;position:fixed;top:15%;transform:translateX(-50%);width:90%}.header,.mpesa-status,.receipt-actions,footer,nav{display:none!important}}*{box-sizing:border-box;font-family:Inter,sans-serif;margin:0;padding:0}.payment-overlay{align-items:flex-start;background-color:#000000e6;display:flex;height:100%;justify-content:center;left:0;overflow-y:auto;padding:40px 20px;position:fixed;top:0;width:100%;z-index:10000}.payment-modal-content{background:#0000;display:flex;flex-direction:column;gap:10px;max-width:500px;position:relative;width:100%}.close-btn{align-self:flex-start;background:#fff;border:none;border-radius:5px;color:#333;cursor:pointer;font-weight:700;margin-bottom:10px;padding:10px 20px;z-index:10001}.close-btn:hover{background:#3b82f6}iframe[name=paystack-checkout]{display:block!important;z-index:999999!important}.visa-card{background:linear-gradient(135deg,#34aadc,#8e44ad);border-radius:20px;box-shadow:0 20px 40px #0006;color:#fff;display:flex;flex-direction:column;height:210px;justify-content:space-between;margin-bottom:-80px;padding:30px;width:350px;z-index:10}.card-number-display{font-family:Courier New,monospace;font-size:1.6rem;letter-spacing:2px;margin-top:20px}.card-bottom-row{display:flex;font-size:.75rem;justify-content:space-between}.form-box{background:#fff;border-radius:25px;box-shadow:0 10px 30px #0003;max-width:400px;padding:100px 30px 35px;width:100%}.field{display:flex;flex-direction:column;margin-bottom:20px;width:100%}.field label{color:#666;font-size:.8rem;font-weight:600;margin-bottom:8px}.field input{background:#fdfdfd;border:1px solid #e1e4e8;border-radius:12px;color:#333;font-size:1rem;outline:none;padding:14px;width:100%}.row-split{display:flex;gap:15px;width:100%}.row-split .field{flex:1 1}.input-with-logo{position:relative;width:100%}.brand-logo{height:22px;object-fit:contain;position:absolute;right:15px;top:50%;transform:translateY(-50%);transition:all .3s ease;width:auto}.brand-logo.visa{width:45px}.brand-logo.mastercard{width:35px}.pay-btn{background:#3b82f6;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:10px;padding:18px;width:100%}.secure-text{color:#999;font-size:.75rem;margin-top:15px;text-align:center}.success-box{background:#fff;border-radius:25px;box-shadow:0 10px 30px #0003;max-width:350px;padding:40px;text-align:center}.check-icon{background:#eafaf1;border-radius:50%;color:#2ecc71;font-size:50px;height:80px;line-height:80px;margin:0 auto 20px;width:80px}.success-box h2{color:#333;margin-bottom:10px}.success-box p{color:#666;margin-bottom:25px}.pay-btn:disabled{background:#a0aec0;cursor:not-allowed}.order-summary{background:#f8f9fa;border-radius:10px;margin-bottom:20px;padding:15px}.order-summary strong{color:#1a1c1e;font-size:1.2rem}.order-summary{align-items:center;background:#f8faff;border:1px solid #eef2ff;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:25px;padding:15px 20px}.order-summary span{color:#64748b;font-size:.9rem;font-weight:500}.order-summary strong{color:#1e293b;font-size:1.3rem;font-weight:800}.receipt-details{background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;margin-bottom:25px;padding:15px;text-align:left}.receipt-row{display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:8px}.ref-text{color:#718096;font-family:monospace;font-size:.75rem}.success-box h2{color:#1a202c;font-weight:800;margin-top:10px}.confirm-booking-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:12px 24px;transition:background-color .3s;width:100%}.confirm-booking-btn:hover{background-color:#45a049}.booking-summary-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin:20px 0;padding:15px;text-align:left}.booking-summary-card h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:16px;font-weight:700;margin-bottom:15px;margin-top:0;padding-bottom:10px}.booking-summary-details p{font-size:14px;margin:8px 0}.booking-summary-details strong{color:#555}.experience-section{background-color:#f9f9f9;padding:4rem 10%}body.dark-mode .experience-section{background-color:#022c22}.experience-container{align-items:center;display:flex;flex-direction:column;gap:3rem}.experience-text{max-width:600px;text-align:center}.sub-gold{font-weight:700;letter-spacing:2px}.experience-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.exp-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000000d;padding:2.5rem;text-align:center;transition:.3s}.exp-card:hover{border-bottom:3px solid #1e3a8a;transform:translateY(-5px)}.exp-icon{font-size:3rem;margin-bottom:1rem}body.dark-mode .exp-card{background:#064e3b;color:#fff}body.dark-mode .exp-card:hover{border-bottom:3px solid #d4af37;transform:translateY(-5px)}.testimonials-section{background:#fff;padding:4rem 10%;text-align:center}.testimonials-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.testimonial-card{background:#fff;border:4px solid #ddd;border-radius:15px;padding:2rem;text-align:left;transition:all .3s ease}.testimonial-card:hover{border-color:#1e3a8a;box-shadow:0 10px 25px #1e3a8a26;transform:translateY(-5px)}.user-profile{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.user-img{border-radius:50%;height:60px;object-fit:cover;width:60px}.user-meta h3{color:#333;font-size:1.1rem;margin:0}.user-location{color:#666;font-size:.85rem;margin:0}.stars{font-size:.9rem;margin-bottom:1rem}.testimonial-text{color:#555;font-style:italic;line-height:1.6}body.dark-mode .testimonials-section{background:#064e3b}body.dark-mode .testimonial-card{background:#022c22;border-color:#ddd}body.dark-mode .testimonial-card:hover{border-color:#d4af37;box-shadow:0 10px 25px #d4af374d;cursor:pointer}body.dark-mode .testimonial-text,body.dark-mode .user-meta h3{color:#fff}body.dark-mode .user-location{color:#ccc}.newsletter-section{background-color:#fff;padding:4rem 10%;transition:background .3s ease}body.dark-mode .newsletter-section{background-color:#064e3b}.newsletter-card{background:linear-gradient(135deg,#022c22,#064e3b);border-radius:30px;box-shadow:0 20px 40px #0003;color:#fff;padding:4rem 2rem;position:relative;text-align:center}.sub-gold{color:#d4af37;letter-spacing:3px;margin-bottom:.5rem;text-transform:uppercase}.newsletter-content h2{font-size:2.2rem;margin-bottom:1rem}.newsletter-content p{line-height:1.6;margin:0 auto 2rem;max-width:500px;opacity:.9}.newsletter-form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.newsletter-form input{border:none;border-radius:50px;font-size:1rem;outline:none;padding:1rem 1.5rem;width:320px}.subscribe-btn{background-color:#d4af37;border:none;border-radius:50px;color:#000;cursor:pointer;font-weight:700;padding:1rem 2rem;transition:all .3s ease}.subscribe-btn:hover{background-color:#fff;box-shadow:0 5px 15px #ffffff4d;transform:scale(1.05)}body.dark-mode .newsletter-card{border:1px solid #d4af374d}body.dark-mode .subscribe-btn:hover{background:#1e3a8a;color:#fff}.footer-section{background-color:#1e3a8a;border-top:1px solid #d4af374d;color:#fff;padding:5rem 10% 2rem}.footer-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1.5fr 1fr 1fr 1.2fr;margin-bottom:4rem}.footer-logo{color:#d4af37;font-size:1.8rem;font-weight:700;margin-bottom:1.2rem}.brand-col p{color:#ccc;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.footer-column h3{color:#fff;cursor:pointer;font-size:1.2rem;margin-bottom:1.5rem;position:relative}.footer-column h3:after{background-color:#d4af37;bottom:-5px;content:"";cursor:pointer;height:2px;left:0;position:absolute;width:30px}.footer-column ul{cursor:pointer;list-style:none;padding:0}.footer-column ul li{margin-bottom:.8rem}.footer-column ul a{color:#ccc;text-decoration:none;transition:.3s}.footer-column ul a:hover{color:#d4af37;padding-left:5px}.social-links{cursor:pointer;display:flex;font-size:1.2rem;gap:1rem}.footer-bottom{border-top:1px solid #ffffff1a;color:#666;cursor:pointer;font-size:.85rem;padding-top:2rem;text-align:center}@media (max-width:768px){.footer-container{grid-template-columns:1fr 1fr}}@media (max-width:480px){.footer-container{grid-template-columns:1fr;text-align:center}.footer-column h3:after{left:50%;transform:translateX(-50%)}}body.dark-mode .footer-section{background:#064e3b}.login-container{align-items:center;background:linear-gradient(#0009,#0009),url(https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1350&q=80);background-position:50%;background-size:cover;display:flex;height:100vh;justify-content:center;width:100%}.login-card{background:#fff;border-radius:12px;box-shadow:0 15px 35px #0003;max-width:400px;padding:40px;text-align:center;width:100%}.login-brand h1{color:#003580;font-size:2rem;letter-spacing:1px;margin:0}.login-brand p{color:#666;font-size:.9rem;margin-bottom:30px;margin-top:5px}.login-options{display:flex;flex-direction:column;gap:15px}.btn-guest{background-color:#003580;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px;transition:background .3s}.btn-guest:hover{background-color:#002254}.divider{border-bottom:1px solid #eee;margin:10px 0;position:relative}.divider span{background:#fff;color:#999;font-size:.8rem;left:50%;padding:0 10px;position:absolute;top:50%;transform:translate(-50%,-50%)}.btn-admin-toggle{background:#0000;border:1px solid #003580;border-radius:6px;color:#003580;cursor:pointer;font-weight:600;padding:12px}.admin-login-form{animation:fadeIn .3s ease-in;display:flex;flex-direction:column;gap:10px}.admin-login-form input{border:1px solid #ddd;border-radius:6px;outline:none;padding:12px}.form-actions{display:flex;gap:10px}.btn-login{background:#28a745;color:#fff;flex:2 1}.btn-cancel,.btn-login{border:none;border-radius:6px;cursor:pointer;padding:10px}.btn-cancel{background:#eee;flex:1 1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.btn-manager-toggle{background:#0000;border:1px solid #2c3e50;border-radius:6px;color:#2c3e50;cursor:pointer;font-weight:600;padding:12px;transition:all .3s}.btn-manager-toggle:hover{background:#f8f9fa}.mode-label{color:#666;font-size:.8rem;letter-spacing:1px;margin-bottom:5px}.btn-admin-toggle:hover{background:#f0f4f8}.admin-wrapper{background-color:#f8f9fa;display:flex;font-family:Arial,sans-serif;min-height:100vh}.admin-main-content{display:flex;flex:1 1;flex-direction:column}.admin-header{align-items:center;background:#fff;box-shadow:0 2px 10px #0000000d;display:flex;height:70px;justify-content:space-between;padding:0 30px}.admin-page-body{overflow-y:auto;padding:30px}.admin-header h2{color:#003580;font-size:1.2rem}.admin-sidebar{background-color:#003580;height:100vh;padding:20px;position:-webkit-sticky;position:sticky;top:0;width:260px}.sidebar-logo{border-bottom:1px solid #ffffff1a;margin-bottom:40px;padding-bottom:20px}.sidebar-logo h1{font-size:1.5rem}.sidebar-logo span{font-size:.8rem;opacity:.7}.nav-item{border-radius:8px;gap:12px;margin-bottom:8px;padding:12px 15px;transition:all .3s ease}.nav-item.active{background-color:#002254;font-weight:700}.sidebar-footer{margin-top:auto;padding-top:20px}.logout-btn{background:#0000;border:1px solid #ffffff4d;border-radius:5px}.logout-btn:hover{background:#f4b400;border-color:#fff;color:#000}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-left:5px solid #003580;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.stat-card h4{color:#666;font-size:.9rem;margin-bottom:10px}.stat-value{color:#003580;font-size:1.8rem;font-weight:700}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{background:linear-gradient(135deg,#1e3c72,#2a5298);box-shadow:2px 0 5px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease;width:250px}.admin-sidebar.collapsed{width:70px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;min-height:80px;padding:20px}.sidebar-logo{flex:1 1;overflow:hidden;transition:all .3s ease}.sidebar-logo h1{color:#fff;font-size:1.3rem;font-weight:600;margin:0;white-space:nowrap}.sidebar-logo span{color:#ffffffb3;display:block;font-size:.75rem;margin-top:4px;white-space:nowrap}.toggle-btn{align-items:center;background:#ffffff1a;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:5px;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.toggle-btn:hover{background-color:#fff3;transform:scale(1.05)}.toggle-btn:active{transform:scale(.95)}.toggle-btn:focus{outline:none}.bar{background-color:#fff;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:25px}.admin-sidebar.collapsed .toggle-btn .bar:first-child{transform:rotate(45deg) translate(5px,5px)}.admin-sidebar.collapsed .toggle-btn .bar:nth-child(2){opacity:0;transform:scale(0)}.admin-sidebar.collapsed .toggle-btn .bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:20px 0}.sidebar-nav ul{list-style:none;margin:0;padding:0}.nav-item{align-items:center;color:#ffffffe6;cursor:pointer;display:flex;margin:4px 0;padding:12px 20px;position:relative;transition:all .2s ease;white-space:nowrap}.nav-item:hover{background-color:#ffffff1a}.nav-item.active{background-color:#ffffff26;border-left:3px solid gold}.nav-item.active .icon{color:gold}.icon{align-items:center;display:inline-flex;font-size:1.2rem;justify-content:center;margin-right:15px;min-width:24px;transition:margin .3s ease}.label{color:#ffffffe6;flex:1 1;font-size:.95rem;text-align:left;transition:opacity .2s ease}.nav-item.active .label{color:gold;font-weight:500}.sidebar-footer{border-top:1px solid #ffffff1a;padding:20px}.logout-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;gap:8px;justify-content:center;padding:10px;transition:all .2s ease;width:100%}.logout-btn:hover{background-color:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.logout-btn:active{transform:translateY(0)}.admin-sidebar.collapsed .sidebar-header{justify-content:center;padding:20px 10px}.admin-sidebar.collapsed .sidebar-logo{display:none}.admin-sidebar.collapsed .nav-item{justify-content:center;padding:12px}.admin-sidebar.collapsed .icon{margin-right:0;min-width:auto}.admin-sidebar.collapsed .label{display:none}.admin-sidebar.collapsed .nav-item.active{border-left:3px solid gold;padding-left:9px}.admin-sidebar.collapsed .sidebar-footer{padding:20px 10px}.admin-sidebar.collapsed .logout-btn{font-size:0;padding:10px}.admin-sidebar.collapsed .logout-btn:before{content:"🚪";font-size:1.2rem}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff80}.main-content{background-color:#f8f9fa;flex:1 1;overflow-y:auto;padding:20px}@media (max-width:768px){.admin-sidebar{height:100vh;position:fixed;transform:translateX(0);transition:transform .3s ease,width .3s ease;z-index:1000}.admin-sidebar.collapsed{transform:translateX(-100%)}.main-content{margin-left:0;width:100%}}.room-management{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000000d;padding:20px}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.add-room-btn{background-color:#003580;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 15px}.room-table{border-collapse:collapse;width:100%}.room-table td,.room-table th{border-bottom:1px solid #eee;padding:15px;text-align:left;white-space:nowrap;width:1%}.room-thumb{object-fit:cover}.no-image-placeholder,.room-thumb{border-radius:4px;height:40px;width:60px}.no-image-placeholder{align-items:center;background:#f0f0f0;color:#999;display:flex;font-size:.6rem;justify-content:center}.status-pill{border-radius:20px;font-size:.85rem;font-weight:600;padding:5px 12px}.status-pill.available{background:#e6f4ea;color:#1e7e34}.status-pill.cleaning{background:#fff4e5;color:#b7791f}.status-pill.dirty{background:#feecef;color:#d93025}.status-toggle-btn{color:#003580}.admin-edit-btn,.status-toggle-btn{background:none;border:none;cursor:pointer;font-weight:600;margin-right:10px}.admin-edit-btn{color:#f39c12}.admin-edit-btn:hover{text-decoration:underline}.delete-btn{background:none;border:none;color:#d93025;cursor:pointer;font-weight:600}.delete-btn:hover{text-decoration:underline}.mark-clean-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;margin-right:10px;padding:5px 10px}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;padding:30px;width:450px}.form-group{display:flex;flex-direction:column;margin-bottom:15px}.form-group input{border:1px solid #ccc;border-radius:6px;margin-top:5px;padding:10px}.img-preview{border-radius:4px;height:60px;margin-top:10px;object-fit:cover;width:100px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.save-btn{background:#003580;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.cancel-btn{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;color:#333;padding:10px 20px}.bookings-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000000d;padding:25px}.bookings-header{margin-bottom:25px}.bookings-header h3{color:#003580;font-size:1.4rem;margin:0}.bookings-header p{color:#666;font-size:.9rem;margin:5px 0 0}.bookings-table-wrapper{overflow-x:auto}.bookings-table{border-collapse:collapse;text-align:left;width:100%}.bookings-table th{background-color:#f8f9fa;border-bottom:2px solid #eee;color:#333;font-weight:600;padding:15px}.bookings-table td{border-bottom:1px solid #eee;color:#444;font-size:.95rem;padding:15px}.booking-id{color:#003580;font-weight:700}.booking-amount{color:#2c3e50;font-weight:600}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:6px 12px}.status-badge.confirmed{background-color:#e3fcef;color:#064}.status-badge.pending{background-color:#fff7e6;color:#8a6d3b}.status-badge.checked-in{background-color:#e6f0ff;color:#0052cc}.method-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:uppercase}.method-badge.mpesa{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.method-badge.card{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1565c0}.view-details-btn{background:#0000;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:6px 12px;transition:all .2s}.view-details-btn:hover{background:#003580;border-color:#d93025;color:#f0f0f0}.cancel-btn{background-color:initial;border:1px solid #d93025;border-radius:4px;color:#d93025;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.cancel-btn:hover{background-color:#feecef}.action-buttons{align-items:center;display:flex;gap:8px}.btn-cancel,.btn-print,.checkin-btn,.checkout-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:opacity .2s}.btn-print{background:#f8f9fa;border:1px solid #ddd;color:#333}.checkin-btn{background:#28a745;color:#fff}.checkout-btn{background:#007bff;color:#fff}.btn-cancel{background:#fff;border:1px solid #dc3545;color:#dc3545}.btn-checkout:hover{background:#0069d9;opacity:.9}.checkin-btn:hover{background:#0052cc;opacity:.9}.status-badge.checked-in{background:#e8f5e9;color:#2e7d32}.status-badge.checked-out{background:#e3f2fd;color:#1565c0}.status-pill.dirty{background-color:#ffeb3b!important;border:1px solid #fbc02d;color:#000!important}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.ac3b6140.css.map*/