@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap";.navbar{position:fixed;top:20px;left:50%;transform:translate(-50%);width:95%;max-width:1200px;z-index:1000;padding:10px 30px;border-radius:50px;display:flex;justify-content:center;transition:all .3s ease}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{font-size:1.5rem;font-weight:700;font-family:Playfair Display,serif;color:var(--primary);display:flex;align-items:center;gap:10px}.logo-img{height:70px;width:auto;border-radius:50%}.nav-links{display:flex;gap:40px;align-items:center}.nav-links a{font-weight:500;font-size:.95rem;padding:7px}.nav-links a:hover{background-color:var(--primary);color:#fff;border-radius:30px}.mobile-toggle{display:none;cursor:pointer}@media(max-width:768px){.mobile-toggle{display:block}.nav-links{position:absolute;top:100%;left:0;width:100%;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;padding:20px;border-radius:20px;box-shadow:var(--shadow);display:none;margin-top:10px;border:1px solid var(--glass-border);gap:15px;max-height:70vh;overflow-y:auto;overflow-x:hidden}.nav-links.active{display:flex}.navbar{width:95%;padding:8px 15px}.logo-img{height:40px}.logo{font-size:1.1rem;white-space:nowrap}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.booking-container{padding:40px;max-width:1000px;margin:0 auto}.booking-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.custom-calendar{width:100%;border:none!important;border-radius:15px;padding:10px;font-family:Outfit,sans-serif!important;background:#fffc!important;box-shadow:0 4px 15px #0000000d}.react-calendar__navigation button{font-family:Playfair Display,serif;font-size:1.2rem;color:var(--primary)}.react-calendar__tile{padding:15px 0!important;border-radius:8px}.react-calendar__tile--active{background:var(--primary)!important;color:#fff!important}.react-calendar__tile--active div,.react-calendar__tile--rangeStart div,.react-calendar__tile--rangeEnd div,.react-calendar__tile--rangeBothEnds div{color:#fff!important;font-weight:700!important}.react-calendar__tile--now{background:var(--secondary)!important;color:#fff!important}.react-calendar__tile:disabled{background-color:#f0f0f0!important;color:#ccc!important;cursor:not-allowed!important}.react-calendar__tile.partially-booked{background-color:#fff8e1!important;border:1px solid #f0c040!important}.react-calendar__tile.partially-booked:not(:disabled):hover{background-color:#fdeea3!important}.custom-calendar .cal-selected-single,.custom-calendar .cal-selected-start,.custom-calendar .cal-selected-end{background:#2c5f2d!important;color:#fff!important;border-radius:8px!important}.custom-calendar .cal-selected-single *,.custom-calendar .cal-selected-start *,.custom-calendar .cal-selected-end *{color:#fff!important;font-weight:700!important}.custom-calendar .cal-selected-between{background:#dcfce7!important;color:#166534!important;border-radius:2px!important}.custom-calendar .cal-selected-between *{color:#166534!important;font-weight:600!important}.payment-details p{font-size:clamp(24px,6vw,30px)}.phone-input-group{display:flex;gap:8px}.phone-country-select{flex:0 0 auto;width:110px}.phone-number-input{flex:1;min-width:0}.error-message{color:red;margin-bottom:20px}.krish-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center}.loader-box{background:#fff;padding:30px 40px;border-radius:12px;text-align:center}.spinner{width:40px;height:40px;border:4px solid #eee;border-top:4px solid #3399cc;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.booking-grid{grid-template-columns:1fr;gap:30px}.booking-container{padding:20px;margin-left:-5px;margin-right:-5px}.custom-calendar{padding:5px}.react-calendar__tile{padding:8px 0!important;font-size:.8rem}.react-calendar__navigation button{font-size:clamp(12px,4vw,16px);min-width:30px;padding:5px}}@media(max-width:480px){.calendar-section{width:100%;padding-bottom:10px}.booking-container{padding:15px 5px}.react-calendar__tile{padding:6px 0!important;font-size:8px!important;min-width:0!important;overflow:hidden}.react-calendar__month-view__weekdays__weekday{min-width:0!important;overflow:hidden}.react-calendar__month-view__weekdays__weekday abbr{font-size:8px!important;text-decoration:none}.custom-calendar{width:100%;padding:2px;box-sizing:border-box}.react-calendar__navigation button{font-size:clamp(10px,3.5vw,14px)!important;min-width:0!important;padding:5px!important}.react-calendar__tile div{font-size:8px!important;white-space:nowrap;text-overflow:clip;overflow:hidden}}.bm-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:20px 16px;overflow-y:auto;animation:bm-fade .3s ease}.bm-modal{position:relative;background:#fff;border-radius:20px;width:100%;max-width:980px;box-shadow:0 32px 80px #00000059;overflow:hidden;animation:bm-slide-up .4s cubic-bezier(.34,1.4,.64,1);margin:auto}.bm-close{position:absolute;top:14px;right:14px;z-index:10;background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.bm-close:hover{background:#fff6}.bm-promo{background:linear-gradient(135deg,#1e4620,#2c5f2d 60%,#3a7a3c);padding:36px 40px 32px;color:#fff;position:relative;overflow:hidden}.bm-promo:before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:#ffffff0d;border-radius:50%}.bm-promo:after{content:"";position:absolute;bottom:-60px;right:80px;width:140px;height:140px;background:#ffffff0a;border-radius:50%}.bm-promo-left{position:relative;z-index:1;max-width:700px}.bm-badge{display:inline-block;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);border-radius:50px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 14px;margin-bottom:12px}.bm-promo h2{font-family:Playfair Display,serif;font-size:clamp(1.6rem,3vw,2.2rem);color:#fff;margin:0 0 10px;line-height:1.2}.bm-promo p{font-size:.95rem;opacity:.85;margin:0 0 20px;max-width:500px;line-height:1.6}.bm-highlights{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:20px}.bm-highlight-item{display:flex;align-items:center;gap:6px;font-size:.85rem;opacity:.9}.bm-highlight-item span{font-weight:500}.bm-price-tag{display:inline-block;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:8px 16px;font-size:.9rem}.bm-price-tag strong{font-size:1.1rem;color:#a8e6a3}.bm-form-wrapper{padding:8px 0 0}.bm-form-wrapper .booking-container.glass-card{background:transparent;box-shadow:none;border-radius:0;padding:28px 36px 20px}.bm-form-wrapper .booking-container>h1{display:none}.bm-footer{text-align:center;padding:4px 20px 20px}.bm-skip{background:none;border:none;color:#aaa;font-size:.82rem;cursor:pointer;text-decoration:underline;padding:0;transition:color .2s}.bm-skip:hover{color:#666}@keyframes bm-fade{0%{opacity:0}to{opacity:1}}@keyframes bm-slide-up{0%{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.bm-overlay{padding:12px 8px;align-items:flex-start}.bm-modal{border-radius:14px}.bm-promo{padding:28px 20px 24px}.bm-form-wrapper .booking-container.glass-card{padding:20px 16px}}.admin-login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f8fafc,#edf2f7,#e2e8f0);position:relative;overflow:hidden}.admin-login-wrapper:before{content:"";position:absolute;top:-100px;right:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(44,95,45,.08) 0%,transparent 70%);pointer-events:none}.admin-login-wrapper:after{content:"";position:absolute;bottom:-120px;left:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(44,95,45,.06) 0%,transparent 70%);pointer-events:none}.admin-login-card{width:100%;max-width:440px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:40px 36px 36px;box-shadow:0 10px 25px -5px #00000014,0 8px 10px -6px #0000000a;position:relative;z-index:10;transition:transform .2s ease,box-shadow .2s ease}.admin-login-header{text-align:center;margin-bottom:28px}.admin-login-logo-wrap{width:68px;height:68px;margin:0 auto 14px;padding:4px;background:#fff;border:2px solid #e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #2c5f2d1f}.admin-login-logo{width:100%;height:100%;object-fit:cover;border-radius:50%}.admin-login-brand-title{font-family:Playfair Display,serif;font-size:1.65rem;font-weight:700;color:#1e293b;margin:0;letter-spacing:-.01em}.admin-login-alert-banner{display:flex;align-items:center;gap:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:12px 14px;border-radius:10px;font-size:.88rem;font-weight:500;margin-bottom:22px;animation:fadeInDown .25s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:6px}.admin-form-label{font-size:.88rem;font-weight:600;color:#334155;display:flex;justify-content:space-between;align-items:center}.admin-input-wrapper{position:relative;display:flex;align-items:center}.admin-input-icon{position:absolute;left:14px;color:#94a3b8;pointer-events:none;transition:color .2s ease}.admin-input-field{width:100%;height:46px;padding:0 16px 0 42px;font-size:.95rem;font-family:Outfit,sans-serif;color:#0f172a;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;transition:all .2s ease}.admin-input-field:focus{background:#fff;border-color:#2c5f2d;box-shadow:0 0 0 3px #2c5f2d26}.admin-input-field:focus+.admin-input-icon,.admin-input-wrapper:focus-within .admin-input-icon{color:#2c5f2d}.admin-input-field.input-has-error{border-color:#ef4444;background:snow}.admin-input-field.input-has-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #ef444426}.admin-input-wrapper:focus-within .admin-input-icon.icon-has-error,.admin-input-icon.icon-has-error{color:#ef4444}.admin-password-toggle-btn{position:absolute;right:12px;background:transparent;border:none;padding:6px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s ease,background .15s ease}.admin-password-toggle-btn:hover{color:#334155;background:#f1f5f9}.admin-field-error{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:#dc2626;font-weight:500;margin-top:2px;animation:fadeIn .15s ease-in}.admin-login-submit-btn{width:100%;height:48px;margin-top:8px;background:#2c5f2d;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;font-family:Outfit,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px #2c5f2d40}.admin-login-submit-btn:hover:not(:disabled){background:#234c24;transform:translateY(-1px);box-shadow:0 6px 16px #2c5f2d4d}.admin-login-submit-btn:active:not(:disabled){transform:translateY(0)}.admin-login-submit-btn:disabled{opacity:.75;cursor:not-allowed;transform:none;box-shadow:none}.admin-btn-spinner{animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-container{padding:5px 0 30px;max-width:1280px;margin:0 auto}.dashboard-header-clean{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px;padding:4px 0}.dashboard-title-heading{margin:0;font-size:1.75rem;font-weight:700;color:#1e293b;font-family:Playfair Display,serif;letter-spacing:-.02em}.dashboard-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-date-badge-clean{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:8px}.btn-dashboard-secondary-clean{background:#fff;color:#334155;border:1px solid #cbd5e1;padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;box-shadow:0 1px 2px #0000000a}.btn-dashboard-secondary-clean:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.btn-dashboard-action{background:#2c5f2d;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;box-shadow:0 2px 8px #2c5f2d40}.btn-dashboard-action:hover{background:#234c24;transform:translateY(-1px)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #00000008;transition:all .2s ease;position:relative;overflow:hidden}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000f;border-color:#cbd5e1}.metric-card-content{flex:1}.metric-title{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:6px}.metric-value{font-size:1.85rem;font-weight:700;color:#0f172a;line-height:1.1;margin-bottom:0;font-family:Outfit,sans-serif}.metric-subtitle{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:4px}.metric-icon-box{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:12px}.metric-card.emerald .metric-icon-box{background:#ecfdf5;color:#059669}.metric-card.blue .metric-icon-box{background:#eff6ff;color:#2563eb}.metric-card.amber .metric-icon-box{background:#fffbeb;color:#d97706}.metric-card.purple .metric-icon-box{background:#f5f3ff;color:#7c3aed}.metric-card.rose .metric-icon-box{background:#fff1f2;color:#e11d48}.pulse-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 #f59e0bb3;animation:pulse 1.8s infinite;margin-right:4px}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #f59e0bb3}70%{transform:scale(1);box-shadow:0 0 0 6px #f59e0b00}to{transform:scale(.95);box-shadow:0 0 #f59e0b00}}.checkins-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:28px;box-shadow:0 4px 15px #00000008}.checkins-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:14px}.checkins-title-wrap{display:flex;align-items:center;gap:12px}.checkins-title-wrap h2{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;font-family:Playfair Display,serif}.checkins-badge{background:transparent;color:#166534;border:none;font-size:.85rem;font-weight:600;padding:0;display:inline-flex;align-items:center;gap:5px}.checkins-filter-tabs{display:flex;gap:6px;background:#f1f5f9;padding:4px;border-radius:10px}.checkins-tab{background:transparent;border:none;padding:6px 12px;border-radius:7px;font-size:.82rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.checkins-tab.active{background:#fff;color:#0f172a;box-shadow:0 2px 6px #0000000f}.checkins-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 2px 8px #00000008}.checkins-table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}.checkins-table thead{background:#1e293b;color:#fff}.checkins-table th{padding:12px 14px;font-weight:600;font-size:.82rem;letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid #334155}.checkins-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#334155;white-space:nowrap}.checkins-table tbody tr{transition:background-color .15s ease}.checkins-table tbody tr:hover{background:#f8fafc}.checkins-table tbody tr.row-checkin-today{background:#f0fdf4}.checkins-table tbody tr.row-checkin-today:hover{background:#dcfce7}.table-booking-id,.table-booking-id-btn{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1;padding:4px 9px;border-radius:6px;font-family:monospace;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a;text-decoration:none}.table-booking-id-btn:hover{background:#f0fdf4;border-color:#2c5f2d;color:#2c5f2d;transform:translateY(-1px);box-shadow:0 3px 8px #2c5f2d26}.table-booking-id-btn:active{transform:scale(.97)}.booking-id-chevron{color:#64748b;transition:transform .2s ease,color .2s ease}.table-booking-id-btn:hover .booking-id-chevron{color:#2c5f2d;transform:translate(2px)}.table-guest-cell{display:flex;align-items:center;gap:10px}.table-guest-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2c5f2d,#1a3c1b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.table-guest-name{font-weight:600;color:#0f172a;line-height:1.2}.table-guest-email{font-size:.75rem;color:#64748b;margin-top:2px}.table-contact-cell{display:flex;align-items:center;gap:8px}.table-phone-number{font-size:.85rem;color:#334155;font-weight:500}.table-quick-contact-actions{display:inline-flex;align-items:center;gap:4px}.table-contact-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;text-decoration:none;transition:all .2s ease}.table-contact-icon-btn.whatsapp{background:#25d366;color:#fff}.table-contact-icon-btn.whatsapp:hover{background:#1eb954;transform:scale(1.08)}.table-contact-icon-btn.phone{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.table-contact-icon-btn.phone:hover{background:#2563eb;color:#fff;transform:scale(1.08)}.table-action-details-btn{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;border:1px solid #cbd5e1;color:#1e293b;padding:5px 12px;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.table-action-details-btn:hover{background:#2c5f2d;border-color:#2c5f2d;color:#fff;transform:translateY(-1px)}.checkins-empty-state{text-align:center;padding:40px 20px;background:#f8fafc;border-radius:12px;border:1.5px dashed #cbd5e1}.checkins-empty-icon{width:52px;height:52px;border-radius:50%;background:#e2e8f0;color:#64748b;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.checkins-empty-state h3{margin:0 0 6px;font-size:1.05rem;color:#1e293b}.checkins-empty-state p{font-size:.85rem;color:#64748b;max-width:480px;margin:0 auto 16px}@media(max-width:768px){.checkins-table th,.checkins-table td{padding:10px;font-size:.82rem}}.booking-modal-overlay{position:fixed;inset:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.booking-modal-card{background:#fff;border-radius:16px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px -10px #0f172a40,0 0 0 1px #0000000d;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-modal-header{padding:20px 24px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border-radius:16px 16px 0 0}.booking-modal-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2c5f2d;display:block;margin-bottom:2px}.booking-modal-title{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a;font-family:monospace}.booking-modal-close-btn{background:#fff;border:1px solid #e2e8f0;color:#64748b;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.booking-modal-close-btn:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.booking-modal-body{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-modal-field{display:flex;flex-direction:column;gap:4px}.booking-modal-field.full-width{grid-column:1 / -1;background:#f8fafc;padding:12px;border-radius:8px;border:1px solid #e2e8f0}.field-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.field-value{font-size:.92rem;font-weight:500;color:#1e293b}.field-value.font-bold{font-weight:700;color:#0f172a}.field-value.capitalize{text-transform:capitalize}.field-value.amount{font-size:1.1rem;font-weight:700;color:#2c5f2d}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:0;background:transparent;border:none;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.status-pill.confirmed,.status-pill.booked{color:#166534;background:transparent;border:none}.status-pill.enquiry{color:#d97706;background:transparent;border:none}.status-pill.cancelled{color:#dc2626;background:transparent;border:none}.arrival-tag{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;background:transparent;border:none;padding:0}.arrival-tag.today{color:#dc2626}.arrival-tag.tomorrow{color:#d97706}.arrival-tag.upcoming{color:#2563eb}.booking-modal-footer{padding:16px 24px;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#f8fafc;border-radius:0 0 16px 16px}.btn-modal-secondary{background:#fff;border:1px solid #cbd5e1;color:#475569;padding:8px 16px;border-radius:8px;font-size:.86rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-modal-secondary:hover{background:#f1f5f9;color:#1e293b}.btn-modal-primary{background:#2c5f2d;border:none;color:#fff;padding:8px 18px;border-radius:8px;font-size:.86rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease;box-shadow:0 2px 6px #2c5f2d33}.btn-modal-primary:hover{background:#234c24;transform:translateY(-1px)}@media(max-width:600px){.booking-modal-body{grid-template-columns:1fr}}.metric-skeleton-shimmer{display:inline-block;width:65px;height:28px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;border-radius:6px;animation:shimmerPulse 1.5s infinite ease-in-out;vertical-align:middle}@keyframes shimmerPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.checkins-skeleton-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.checkins-skeleton-row{display:flex;align-items:center;gap:16px;padding:14px 8px;border-bottom:1px solid #f1f5f9}.checkins-skeleton-row:last-child{border-bottom:none}.checkins-skeleton-cell{height:16px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;border-radius:4px;animation:shimmerPulse 1.5s infinite ease-in-out}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:30px 16px;z-index:9999;overflow-y:auto}.modal-box{background:#fff;padding:24px 28px;border-radius:10px;width:100%;max-width:420px;box-shadow:0 10px 30px #00000040;animation:floatIn .22s ease-out}.modal-wide{max-width:680px}.modal-box h3{margin-bottom:16px;font-size:1.1rem;color:#1e293b}.modal-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#2c5f2d;border-bottom:1px solid #e2e8f0;padding-bottom:5px;margin:18px 0 10px}.modal-section-label:first-of-type{margin-top:0}.modal-box label{font-size:.78rem;font-weight:600;color:#475569;margin-bottom:3px;display:block}.modal-box input,.modal-box select,.modal-box textarea{width:100%;padding:7px 9px;margin-top:2px;border-radius:5px;border:1px solid #cbd5e1;font-family:Outfit,sans-serif;font-size:.88rem;box-sizing:border-box}.modal-box input:disabled,.modal-box select:disabled,.modal-box textarea:disabled{background:#f8fafc;color:#64748b;cursor:default}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px}.modal-grid div{display:flex;flex-direction:column}@keyframes floatIn{0%{transform:translateY(-16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:600px){.modal-grid{grid-template-columns:1fr}}.action-buttons-group{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;vertical-align:middle}.action-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s ease;padding:0;background:transparent}.action-icon-btn:focus-visible{outline:2px solid #2C5F2D;outline-offset:2px}.action-view-btn{background-color:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.action-view-btn:hover{background-color:#1d4ed8;border-color:#1d4ed8;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #1d4ed840}.action-edit-btn{background-color:#f0fdf4;border-color:#bbf7d0;color:#2c5f2d}.action-edit-btn:hover{background-color:#2c5f2d;border-color:#2c5f2d;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #2c5f2d40}.action-delete-btn{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.action-delete-btn:hover{background-color:#dc2626;border-color:#dc2626;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #dc262640}.admin-table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.admin-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-filter-btn{padding:6px 14px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s ease}.admin-filter-btn:hover{border-color:#94a3b8;background:#f8fafc}.admin-filter-btn.active{background:#1e293b;color:#fff;border-color:#1e293b}.admin-add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;background-color:#2c5f2d;color:#fff;font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.admin-add-btn:hover{background-color:#234c24;transform:translateY(-1px);box-shadow:0 3px 8px #2c5f2d4d}.status-badge{display:inline-block;padding:0;background:transparent;font-size:.82rem;font-weight:600;text-transform:capitalize}.status-badge.available{background:transparent;color:#15803d}.status-badge.booked{background:transparent;color:#b45309}.status-badge.blocked{background:transparent;color:#b91c1c}.notes-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;max-height:240px;overflow-y:auto}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.notes-item{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.45;color:#334155;background:#fff;padding:8px 12px;border-radius:6px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000008}.notes-bullet{color:#2c5f2d;font-size:1.25rem;line-height:1;margin-top:1px;-webkit-user-select:none;user-select:none;flex-shrink:0}.notes-content{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;flex:1}.notes-date-tag{display:inline-block;background:#f1f5f9;color:#475569;font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid #cbd5e1;font-family:monospace,monospace;flex-shrink:0}.notes-text{flex:1;word-break:break-word;color:#1e293b}.notes-empty{color:#94a3b8;font-size:.86rem;font-style:italic;padding:6px 0}.admin-layout{display:flex;min-height:100vh;background:#f4f6f8;flex-direction:row}.admin-sidebar{width:220px;background:#1e293b;color:#fff;padding:20px;flex-shrink:0}.admin-sidebar h3{color:#fff;margin-bottom:20px}.sidebar-item{margin-top:10px;cursor:pointer;color:#fff;padding:10px 12px;border-radius:6px;transition:background .2s,color .2s;display:flex;align-items:center;gap:10px;font-weight:500}.sidebar-item:hover{background:#ffffff1a}.sidebar-item.active{color:#38bdf8;background:#38bdf81a}.admin-content{flex:1;padding:24px 30px;overflow-x:hidden}.admin-top-navbar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 2px 10px #0000000a;margin-bottom:24px;border:1px solid #e2e8f0;flex-wrap:wrap;gap:12px}.admin-top-left{display:flex;align-items:center;gap:12px}.admin-page-title{font-size:1.3rem;font-weight:700;color:#1e293b;margin:0;font-family:Playfair Display,serif}.admin-top-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-top-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.88rem;font-weight:500;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;transition:all .2s ease;cursor:pointer}.admin-top-nav-btn:hover{background:#f1f5f9;color:#0f172a}.admin-top-nav-btn.active{background:#1e293b;color:#fff;border-color:#1e293b}.admin-action-btn-site{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.88rem;font-weight:600;background:#2c5f2d;color:#fff;text-decoration:none;transition:background .2s ease}.admin-action-btn-site:hover{background:#234c24;color:#fff}.admin-action-btn-logout{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.88rem;font-weight:600;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;cursor:pointer;transition:background .2s ease}.admin-action-btn-logout:hover{background:#fecaca}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hamburger-btn{display:none;background:none;border:none;cursor:pointer;padding:5px}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;display:flex;flex-direction:column;padding:15px 20px}.sidebar-header{margin-bottom:0;width:100%}.hamburger-btn{display:block}.admin-sidebar h3{margin-bottom:0;font-size:1.2rem}.sidebar-links{display:none;width:100%;flex-direction:column;margin-top:15px}.sidebar-links.open{display:flex}.sidebar-item{margin-top:5px;width:100%;text-align:center}.admin-content{padding:15px}.admin-top-navbar{padding:12px 14px;flex-direction:column;align-items:stretch}.admin-top-left{justify-content:center;text-align:center}.admin-top-right{justify-content:center}.invoice-card{padding:15px!important}.toggle-option{padding:8px 10px;font-size:.8rem;flex:1;text-align:center}}.invoice-card{background:#fff;border-radius:10px;padding:28px 32px;box-shadow:0 2px 12px #00000014;max-width:860px}.toggle-option{padding:9px 22px;border:1px solid #cbd5e1;font-weight:600;font-size:.88rem;cursor:pointer;font-family:Outfit,sans-serif;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}:root{--primary: #2C5F2D;--primary-light: #97BC62;--secondary: #D4A373;--bg-light: #FDFBF7;--bg-dark: #1A1A1A;--text-main: #2C3E50;--text-light: #FDFBF7;--glass: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--shadow: 0 8px 32px 0 rgba(31, 38, 135, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-light);color:var(--text-main);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;color:var(--primary)}a{text-decoration:none;color:inherit;transition:all .3s ease}button{cursor:pointer;font-family:Outfit,sans-serif}#root{overflow-x:hidden;width:100%}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:80px 0}.btn{padding:12px 30px;border-radius:50px;border:none;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #2c5f2d4d;background:#234b24}.glass-card{background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--shadow);padding:30px}.grid-2,.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.text-center{text-align:center}.mb-4{margin-bottom:1.5rem}.mt-4{margin-top:1.5rem}.form-group{margin-bottom:20px}label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-main)}input,select,textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-family:Outfit,sans-serif;font-size:1rem;transition:border-color .3s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}@media(max-width:768px){.section{padding:50px 15px}.container{padding:0 15px}h1{font-size:2rem}.grid-2,.grid-3{grid-template-columns:1fr;gap:20px}.glass-card{padding:20px}}@media(max-width:480px){.btn{padding:10px 20px;width:100%;text-align:center}.glass-card h3{font-size:1.2rem}.section{padding:50px 15px}.container{padding:0 15px}.glass-card{padding:20px 8px}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.gallery-item{width:100%;height:450px;object-fit:cover;border-radius:10px;transition:transform .3s}@media(max-width:768px){.gallery-item{height:300px}}@media(max-width:480px){.gallery-item{height:250px}}
