:root{--forest:#081d15;--forest-mid:#0f3124;--forest-light:#1a5440;--forest-muted:#2d6e55;--sage:#5ec49a;--sage-light:#8ddbb8;--gold:#c9a84c;--gold-bright:#d4af37;--gold-muted:#a88a30;--cream:#f7f3ec;--cream-deep:#ede8df;--ivory:#faf8f4;--white:#fff;--charcoal:#1c2b24;--text-primary:#1a2420;--text-secondary:#4a5e56;--text-muted:#7a9088;--border:#0a251c1a;--border-gold:#c9a84c40;--shadow-sm:0 2px 8px #081d150f;--shadow-md:0 8px 32px #081d151a;--shadow-lg:0 20px 64px #081d1524;--shadow-gold:0 4px 24px #c9a84c33;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--ease:cubic-bezier(.22, 1, .36, 1);--transition:.3s var(--ease);--max-width:1200px;--section-pad:6rem 2rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--ivory);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4,h5{color:var(--forest);letter-spacing:-.02em;font-family:Plus Jakarta Sans,Playfair Display,serif;line-height:1.2}a{color:inherit;transition:color var(--transition);text-decoration:none}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}.header{z-index:200;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:box-shadow var(--transition);background:#f7f3ece0;position:sticky;top:0}.header.scrolled{box-shadow:var(--shadow-md)}.nav-container{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:2rem;margin:0 auto;padding:1.1rem 2rem;display:flex}.logo{color:var(--forest);letter-spacing:-.03em;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:800;display:flex}.logo-haven{color:var(--gold-bright)}.logo-dot{background:var(--gold-bright);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:3s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.nav-links{align-items:center;gap:.25rem;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);border-radius:var(--radius-sm);transition:color var(--transition), background var(--transition);padding:.5rem .85rem;font-size:.9rem;font-weight:500}.nav-links a:hover{color:var(--forest);background:#0a251c0d}.nav-links a.active{color:var(--forest);font-weight:600}.nav-links .eng-link a{color:var(--text-muted);font-size:.85rem}.nav-auth{align-items:center;gap:.75rem;display:flex}.btn-nav-login{background:var(--forest);color:var(--cream)!important;border-radius:var(--radius-full)!important;transition:background var(--transition), transform var(--transition)!important;padding:.6rem 1.3rem!important;font-size:.875rem!important;font-weight:600!important}.btn-nav-login:hover{background:var(--forest-light)!important;transform:translateY(-1px)!important}.nav-user-menu{align-items:center;gap:.75rem;display:flex}.nav-user-name{color:var(--forest);font-size:.875rem;font-weight:600}.btn-nav-logout{color:var(--text-muted);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition);padding:.4rem .8rem;font-size:.8rem}.btn-nav-logout:hover{color:var(--forest);border-color:var(--forest)}.btn-nav-profile{color:var(--forest);border-radius:var(--radius-sm);border:1.5px solid var(--forest);transition:all var(--transition);background:0 0;padding:.4rem .9rem;font-size:.8rem;font-weight:600;text-decoration:none}.btn-nav-profile:hover{background:var(--forest);color:#fff}.hamburger{cursor:pointer;flex-direction:column;gap:5px;padding:.5rem;display:none}.hamburger span{background:var(--forest);width:22px;height:2px;transition:all var(--transition);border-radius:2px;display:block}.btn-primary{background:linear-gradient(135deg, var(--gold), var(--gold-bright));color:var(--forest);border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), filter var(--transition);box-shadow:var(--shadow-gold);white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 8px 32px #c9a84c59}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--cream);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:1.5px solid #ffffff4d;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-1px)}.btn-ghost{color:var(--forest);border-radius:var(--radius-full);border:1.5px solid var(--border);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--forest);color:var(--cream);border-color:var(--forest);transform:translateY(-1px)}.btn-form{background:linear-gradient(135deg, var(--forest-mid), var(--forest-light));width:100%;color:var(--cream);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);letter-spacing:.01em;border:none;padding:.95rem 1.5rem;font-size:1rem;font-weight:700}.btn-form:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.1);transform:translateY(-2px)}.btn-form:disabled{opacity:.7;cursor:not-allowed}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.2rem;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.825rem;font-weight:600}.form-control{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--white);width:100%;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.875rem 1rem;font-family:inherit;font-size:.95rem}.form-control:focus{border-color:var(--forest-light);box-shadow:0 0 0 3px #1a54401f}.form-control::placeholder{color:var(--text-muted)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.hero{background:var(--forest);align-items:center;min-height:92vh;display:flex;position:relative;overflow:hidden}.hero-bg{opacity:.22;transition:transform .6s var(--ease);background-image:url(/images/haven_hero.png);background-position:50% 30%;background-size:cover;position:absolute;inset:0}.hero-overlay{background:linear-gradient(135deg,#081d15f2 0%,#0f3124bf 50%,#081d15e0 100%);position:absolute;inset:0}.hero-container{z-index:2;max-width:var(--max-width);width:100%;margin:0 auto;padding:5rem 2rem;position:relative}.hero-content{max-width:680px}.hero-badge{color:var(--gold-bright);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-full);background:#c9a84c26;border:1px solid #c9a84c59;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.45rem 1rem;font-size:.78rem;font-weight:700;display:inline-flex}.hero-badge-dot{background:var(--gold-bright);border-radius:50%;width:6px;height:6px}.hero h1{color:var(--cream);letter-spacing:-.03em;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:clamp(2.6rem,5.5vw,4.5rem);font-weight:700;line-height:1.1}.hero h1 em{color:var(--gold-bright);font-style:italic}.hero p{color:#f7f3ecb8;max-width:560px;margin-bottom:2.5rem;font-size:1.15rem;line-height:1.7}.cta-group{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.hero-scroll-hint{color:#f7f3ec66;letter-spacing:.1em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;animation:2s ease-in-out infinite bounce;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.section{padding:var(--section-pad)}.section-inner{max-width:var(--max-width);margin:0 auto}.section-badge{letter-spacing:.12em;text-transform:uppercase;color:var(--forest-light);border-radius:var(--radius-full);background:#1a544014;margin-bottom:1rem;padding:.4rem .9rem;font-size:.72rem;font-weight:700;display:inline-block}.section-header{margin-bottom:3.5rem}.section-header h2{margin-bottom:.75rem;font-size:clamp(1.9rem,3.5vw,2.8rem)}.section-header p{color:var(--text-secondary);max-width:580px;font-size:1.05rem;line-height:1.7}.section-header.centered{text-align:center}.section-header.centered p{margin:0 auto}.section-bg-cream{background:var(--cream)}.section-bg-dark{background:var(--forest)}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), box-shadow var(--transition);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.showcase-slideshow-section{position:relative;overflow:hidden}.showcase-slideshow-bg{z-index:0;position:absolute;inset:0}.showcase-slideshow-bg img.showcase-slide{object-fit:cover;opacity:0;z-index:0;transition:opacity 1.5s ease-in-out;inset:0;width:100%!important;height:100%!important;position:absolute!important}.showcase-slideshow-bg img.showcase-slide.active{opacity:1;z-index:1}.showcase-slideshow-overlay{z-index:2;background:linear-gradient(#00000080 0%,#0000001a 50%,#00000080 100%);position:absolute;inset:0}.showcase-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;display:grid}.listing-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), box-shadow var(--transition);overflow:hidden}.listing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.listing-img{object-fit:cover;width:100%;height:240px}.listing-img-placeholder{background:linear-gradient(135deg, var(--forest-mid), var(--forest-light));justify-content:center;align-items:center;width:100%;height:240px;font-size:2rem;display:flex}.listing-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gold-bright);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);background:#081d15d9;padding:.35rem .8rem;font-size:.75rem;font-weight:700;position:absolute;top:1rem;left:1rem}.listing-img-wrap{position:relative}.listing-info{padding:1.5rem}.listing-price{color:var(--forest);font-size:1.5rem;font-weight:800}.listing-price span{color:var(--text-muted);font-size:.85rem;font-weight:500}.listing-amenities{grid-template-columns:1fr 1fr;gap:.5rem;margin:1.1rem 0;list-style:none;display:grid}.listing-amenities li{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.listing-amenities li svg{color:var(--sage);flex-shrink:0}.split{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.split.reverse{direction:rtl}.split.reverse>*{direction:ltr}.split-visual{border-radius:var(--radius-xl);aspect-ratio:4/3;position:relative;overflow:hidden}.split-visual img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease)}.split-visual:hover img{transform:scale(1.04)}.split-img-overlay{background:linear-gradient(#0000 60%,#081d1540 100%);position:absolute;inset:0}.split-content h2{margin-bottom:1rem;font-size:clamp(1.8rem,3vw,2.5rem)}.split-content p{color:var(--text-secondary);margin-bottom:1rem;font-size:1rem;line-height:1.75}.mission-box{border:1px solid #1a544026;border-left:4px solid var(--gold);border-radius:var(--radius-md);background:linear-gradient(135deg,#081d150a,#1a54400f);margin-top:1.5rem;padding:1.25rem 1.5rem}.mission-box h4{letter-spacing:.1em;text-transform:uppercase;color:var(--forest-light);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.mission-box p{color:var(--text-primary);margin:0;font-size:.95rem;font-style:italic;line-height:1.65}.brand-promise{background:linear-gradient(135deg, var(--forest) 0%, var(--forest-mid) 100%);text-align:center;padding:5rem 2rem;position:relative;overflow:hidden}.brand-promise:before{content:"\"";color:#c9a84c0f;pointer-events:none;font-family:Playfair Display,serif;font-size:20rem;line-height:1;position:absolute;top:-1rem;left:50%;transform:translate(-50%)}.brand-promise-inner{max-width:800px;margin:0 auto;position:relative}.brand-promise h2{color:var(--gold-bright);letter-spacing:.15em;text-transform:uppercase;margin-bottom:2rem;font-size:.8rem;font-weight:700}.brand-promise blockquote{color:var(--cream);letter-spacing:-.01em;font-family:Playfair Display,serif;font-size:clamp(1.2rem,2.5vw,1.7rem);font-style:italic;font-weight:500;line-height:1.7}.brand-promise-author{color:#f7f3ec73;letter-spacing:.08em;text-transform:uppercase;margin-top:2rem;font-size:.85rem;font-weight:600}.booking-section{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact-meta{flex-direction:column;gap:1.25rem;margin-top:2rem;display:flex}.meta-item{align-items:flex-start;gap:1rem;display:flex}.meta-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--forest-light);background:#1a544014;flex-shrink:0;justify-content:center;align-items:center;display:flex}.meta-text h4{letter-spacing:.08em;text-transform:uppercase;color:var(--forest-light);margin-bottom:.2rem;font-size:.8rem;font-weight:700}.meta-text p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.booking-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:2.25rem}.form-tabs{border-bottom:1px solid var(--border);margin-bottom:1.75rem;display:flex}.form-tab-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:3px solid #0000;flex:1;margin-bottom:-1px;padding:.8rem;font-family:inherit;font-size:.875rem;font-weight:600}.form-tab-btn.active{color:var(--forest);border-bottom-color:var(--gold)}.price-summary{border-radius:var(--radius-md);background:#081d150a;border:1px solid #1a54401f;margin-bottom:1.2rem;padding:1rem 1.25rem;font-size:.9rem}.price-summary-row{justify-content:space-between;align-items:center;padding:.3rem 0;display:flex}.price-summary-row.total{border-top:1px solid var(--border);color:var(--forest);margin-top:.5rem;padding-top:.75rem;font-size:1rem;font-weight:700}.newsletter-section{background:var(--cream);padding:var(--section-pad)}.newsletter-inner{text-align:center;max-width:540px;margin:0 auto}.newsletter-form{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.newsletter-form .form-control{flex:1;min-width:220px}.footer{background:var(--forest);color:#f7f3eca6;padding:4rem 2rem 2rem}.footer-inner{max-width:var(--max-width);margin:0 auto}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.footer-brand p{max-width:280px;margin-top:1rem;font-size:.9rem;line-height:1.7}.footer h4{color:var(--cream);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.8rem;font-weight:700}.footer-links{flex-direction:column;gap:.7rem;list-style:none;display:flex}.footer-links a{color:#f7f3ec99;transition:color var(--transition);font-size:.875rem}.footer-links a:hover{color:var(--gold-bright)}.footer-bottom{border-top:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.82rem;display:flex}.footer-bottom-links{gap:1.5rem;display:flex}.footer-bottom-links a{color:#f7f3ec73;transition:color var(--transition)}.footer-bottom-links a:hover{color:var(--gold-bright)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:500;opacity:0;pointer-events:none;transition:opacity var(--transition);background:#081d15b8;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal-box{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:440px;transition:transform var(--transition);box-shadow:var(--shadow-lg);padding:2.5rem;position:relative;transform:translateY(20px)scale(.97)}.modal-overlay.open .modal-box{transform:translateY(0)scale(1)}.modal-close{background:var(--cream);cursor:pointer;width:32px;height:32px;color:var(--text-muted);transition:all var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close:hover{background:var(--forest);color:var(--white)}.modal-logo{text-align:center;margin-bottom:1.75rem}.auth-tabs{border-bottom:1px solid var(--border);margin-bottom:1.75rem;display:flex}.auth-tab{text-align:center;color:var(--text-muted);cursor:pointer;transition:all var(--transition);border-bottom:3px solid #0000;flex:1;margin-bottom:-1px;padding:.75rem;font-size:.9rem;font-weight:600}.auth-tab.active{color:var(--forest);border-bottom-color:var(--gold)}.auth-form{display:none}.auth-form.active{display:block}.auth-switch{text-align:center;color:var(--text-muted);margin-top:1.25rem;font-size:.875rem}.auth-switch span{color:var(--forest-light);cursor:pointer;text-underline-offset:2px;font-weight:600;text-decoration:underline}.toast-container{z-index:1000;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast{background:var(--forest);color:var(--cream);border-radius:var(--radius-md);max-width:360px;box-shadow:var(--shadow-lg);animation:slideInRight .35s var(--ease) forwards;border-left:4px solid var(--gold);align-items:center;gap:.75rem;padding:.9rem 1.4rem;font-size:.9rem;font-weight:500;display:flex}.toast.error{background:#1a0a0a;border-left-color:#e05252}.toast.success{border-left-color:var(--sage)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.login-page{background:var(--forest);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-bg{opacity:.08;background-image:url(/images/portal_bg.png);background-position:50%;background-size:cover;position:absolute;inset:0}.login-card{border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);background:#f7f3ecfa;padding:3rem 2.5rem;position:relative}.dashboard-layout{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.dash-loading{background:var(--ivory);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.dash-mobile-topbar{background:var(--forest);z-index:300;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:none;position:sticky;top:0}.dash-mobile-title{color:#fff;letter-spacing:-.02em;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:800}.dash-hamburger{cursor:pointer;flex-direction:column;gap:4px;padding:8px;display:flex}.dash-hamburger span{background:#fff;border-radius:1px;width:20px;height:2px;transition:all .2s}.dash-mobile-home{font-size:1.1rem;text-decoration:none}.dash-sidebar-overlay{z-index:399;background:#00000080;display:none;position:fixed;inset:0}.sidebar{background:var(--forest);flex-direction:column;gap:.5rem;height:100vh;padding:2rem 1.5rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid #ffffff14;margin-bottom:2rem;padding-bottom:1.5rem}.sidebar-nav-item{border-radius:var(--radius-md);color:#f7f3ec99;cursor:pointer;transition:all var(--transition);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav-item:hover,.sidebar-nav-item.active{color:var(--gold-bright);background:#c9a84c1f}.dashboard-main{background:var(--ivory);padding:2.5rem;overflow-x:hidden}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.25rem;margin-bottom:2.5rem;display:grid}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;gap:.4rem;padding:1.5rem;display:flex;position:relative}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-icon{margin-bottom:.25rem;font-size:1.5rem}.stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.stat-value{color:var(--forest);font-family:Plus Jakarta Sans,sans-serif;font-size:1.75rem;font-weight:800;line-height:1}.stat-sub{color:var(--text-muted);font-size:.78rem}.dash-table-desktop{display:block}.dash-cards-mobile{display:none}.dash-booking-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition);margin-bottom:.75rem;padding:1.25rem}.dash-booking-card:hover{box-shadow:var(--shadow-sm)}.dash-booking-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.dash-booking-card-details{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.85rem;display:flex}.dash-booking-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.dash-action-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;min-height:36px;padding:.45rem .9rem;font-size:.78rem;font-weight:600}.dash-action-btn.confirm{color:#2d8060;background:#5ec49a1f}.dash-action-btn.confirm:hover{background:#5ec49a38}.dash-action-btn.checkout{color:#2563eb;background:#3b82f61a}.dash-action-btn.checkout:hover{background:#3b82f62e}.dash-action-btn.cancel{color:#c04040;background:#e0525214}.dash-action-btn.cancel:hover{background:#e0525229}.dash-action-btn:disabled{opacity:.5;cursor:not-allowed}.dash-empty{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;font-size:.9rem}.dash-filter-bar{flex-wrap:wrap;gap:.35rem;display:flex}.dash-filter-btn{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--white);color:var(--text-muted);cursor:pointer;transition:all var(--transition);text-transform:capitalize;min-height:34px;padding:.4rem .85rem;font-size:.75rem;font-weight:600}.dash-filter-btn:hover{border-color:var(--forest-light);color:var(--forest)}.dash-filter-btn.active{background:var(--forest);color:var(--cream);border-color:var(--forest)}.dash-add-btn{border-radius:var(--radius-md);background:var(--forest);color:var(--cream);cursor:pointer;transition:all var(--transition);border:none;min-height:40px;padding:.55rem 1.25rem;font-size:.82rem;font-weight:600}.dash-add-btn:hover{background:var(--forest-mid)}.dash-add-btn:disabled{opacity:.5;cursor:not-allowed}.dash-form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem}.dash-listing-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.dash-form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.dash-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--ivory);width:100%;color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:.7rem 1rem;font-family:inherit;font-size:.875rem}.dash-input:focus{border-color:var(--forest-light)}.table-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}table{border-collapse:collapse;width:100%;font-size:.875rem}thead{background:var(--ivory)}th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding:.875rem 1.25rem;font-size:.72rem;font-weight:700}td{color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle;padding:1rem 1.25rem}tr:last-child td{border-bottom:none}tr:hover td{background:#081d1505}.status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge.pending{color:var(--gold-muted);background:#c9a84c1f}.status-badge.confirmed,.status-badge.active{color:#2d8060;background:#5ec49a1f}.status-badge.cancelled,.status-badge.failed{color:#c04040;background:#e052521a}.status-badge.expired,.status-badge.abandoned{color:#666;background:#6464641a}.status-badge.checked_out{color:#2563eb;background:#3b82f61a}.status-badge.inactive{color:#666;background:#6464641a}.status-badge.success{color:#2d8060;background:#5ec49a1f}.confirm-page{background:var(--ivory);flex-direction:column;min-height:100vh;display:flex}.confirm-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);max-width:580px;box-shadow:var(--shadow-md);margin:4rem auto;overflow:hidden}.confirm-header{background:linear-gradient(135deg, var(--forest), var(--forest-light));text-align:center;padding:2.5rem}.confirm-icon{background:#5ec49a26;border:2px solid #5ec49a66;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;display:flex}.confirm-body{padding:2.5rem}.detail-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.8rem 0;font-size:.9rem;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-muted);font-weight:500}.detail-value{color:var(--text-primary);text-align:right;font-weight:600}.bookings-page,.user-dash-page{background:var(--ivory);min-height:100vh}.bookings-hero{background:linear-gradient(135deg, var(--forest), var(--forest-mid));color:var(--cream);padding:4rem 2rem}.bookings-inner,.user-dash-inner{max-width:var(--max-width);margin:0 auto}.user-dash-hero{background:linear-gradient(135deg, var(--forest), var(--forest-mid));padding:2.5rem 2rem}.user-dash-hero-inner{max-width:var(--max-width);align-items:center;gap:1.25rem;margin:0 auto;display:flex}.user-dash-avatar{background:linear-gradient(135deg, var(--gold-bright), var(--gold-muted));width:52px;height:52px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:800;display:flex}.user-dash-inner{padding:2rem}.user-dash-tabs{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);gap:.25rem;margin-bottom:2rem;padding:.35rem;display:flex;overflow-x:auto}.user-dash-tab{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.5rem;min-height:42px;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.user-dash-tab:hover{color:var(--forest);background:#081d1508}.user-dash-tab.active{background:var(--forest);color:var(--cream)}.user-dash-content{animation:fadeInUp .4s var(--ease)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.user-stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.user-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;align-items:center;gap:.3rem;padding:1.25rem;display:flex}.user-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-stat-icon{margin-bottom:.2rem;font-size:1.5rem}.user-new-booking-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.price-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:#081d1508;margin-bottom:1rem;padding:1rem}.price-summary-row{color:var(--text-secondary);justify-content:space-between;padding:.35rem 0;font-size:.85rem;display:flex}.price-summary-row.total{border-top:1px solid var(--border);color:var(--forest);margin-top:.5rem;padding-top:.5rem;font-size:1rem}.user-settings-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.user-settings-avatar-section{border-bottom:1px solid var(--border);align-items:center;gap:1.25rem;margin-bottom:1.75rem;padding-bottom:1.75rem;display:flex}.user-avatar-large{background:linear-gradient(135deg, var(--gold-bright), var(--gold-muted));width:72px;height:72px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:800;display:flex}.user-settings-form{flex-direction:column;gap:1rem;max-width:480px;display:flex}.booking-card-guest{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition);margin-bottom:1.25rem;overflow:hidden}.booking-card-guest:hover{box-shadow:var(--shadow-md)}.booking-card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.booking-card-body{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:1.25rem 1.5rem;display:grid}.booking-info-item{flex-direction:column;gap:.25rem;display:flex}.booking-info-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.booking-info-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.booking-card-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem;padding:1rem 1.5rem;display:flex}.otp-group{justify-content:center;gap:.75rem;margin:1.5rem 0;display:flex}.otp-input{text-align:center;width:52px;height:60px;color:var(--forest);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--white);transition:all var(--transition);outline:none;font-family:Plus Jakarta Sans,monospace;font-size:1.6rem;font-weight:700}.otp-input:focus{border-color:var(--forest-light);box-shadow:0 0 0 3px #1a54401f}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-state h3{margin-bottom:.5rem;font-size:1.25rem}.empty-state p{color:var(--text-muted);margin-bottom:1.5rem}.spinner{border:2.5px solid #ffffff4d;border-top-color:var(--white);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.split{grid-template-columns:1fr;gap:2.5rem}.split.reverse{direction:ltr}.booking-section{grid-template-columns:1fr;gap:2.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.dashboard-layout{grid-template-columns:1fr}.dash-mobile-topbar{display:flex}.sidebar{z-index:400;width:280px;height:100vh;box-shadow:var(--shadow-lg);display:none;position:fixed;top:0;left:0}.sidebar.mobile-open{display:flex}.dash-sidebar-overlay{display:block}.dashboard-main{padding:1.5rem}.dash-table-desktop{display:none}.dash-cards-mobile{display:block}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-value{font-size:1.35rem}.stat-card{padding:1rem}.user-dash-hero{padding:1.75rem 1.25rem}.user-dash-hero-inner{gap:1rem}.user-dash-avatar{width:44px;height:44px;font-size:.95rem}.user-dash-inner{padding:1.25rem}.user-dash-tabs{gap:.15rem;padding:.25rem}.user-dash-tab{flex:1;justify-content:center;padding:.5rem .9rem;font-size:.8rem}.user-stat-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.user-stat-card{padding:1rem}.user-stat-card .stat-value{font-size:1.25rem}.user-settings-card{padding:1.25rem}.user-settings-avatar-section{gap:1rem}.user-avatar-large{width:56px;height:56px;font-size:1.1rem}.booking-card-body{grid-template-columns:repeat(2,1fr);padding:1rem 1.25rem}.booking-card-header{padding:1rem 1.25rem}.booking-card-actions{padding:.75rem 1.25rem}.confirm-body{padding:1.5rem}.confirm-header{padding:2rem 1.5rem}}.nav-links.mobile-open{background:var(--ivory);border-top:1px solid var(--border);z-index:220;flex-direction:column;gap:.25rem;padding:1rem 1.5rem 1.5rem;animation:.2s slideDown;position:fixed;top:64px;left:0;right:0;box-shadow:0 12px 40px #0000001f;display:flex!important}.nav-links.mobile-open li{width:100%}.nav-links.mobile-open a{border-radius:var(--radius-md);width:100%;padding:.75rem 1rem;font-size:1rem;display:block}.nav-links.mobile-open .nav-mobile-divider{background:var(--border);width:100%;height:1px;margin:.5rem 0}.nav-links.mobile-open .btn-nav-login,.nav-links.mobile-open .btn-nav-profile{text-align:center;width:100%;margin-top:.25rem;display:block;padding:.75rem 1rem!important;font-size:.95rem!important}.nav-links.mobile-open .btn-nav-logout{text-align:center;width:100%;margin-top:.25rem;padding:.75rem 1rem;display:block}.nav-mobile-auth{flex-direction:column;gap:.25rem;width:100%;display:flex}@media (min-width:769px){.nav-mobile-auth{display:none}}.nav-mobile-backdrop{display:none}.nav-mobile-backdrop.active{z-index:210;background:#00000059;animation:.2s fadeIn;display:block;position:fixed;inset:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (min-width:769px) and (max-width:1024px){.nav-container{gap:.75rem;padding:1rem 1.25rem}.nav-links{gap:0}.nav-links a{padding:.45rem .55rem;font-size:.8rem}.nav-links .eng-link a{font-size:.75rem}.logo{font-size:1.1rem}.btn-nav-login{padding:.5rem .9rem!important;font-size:.8rem!important}.btn-nav-profile{padding:.4rem .7rem;font-size:.75rem}.btn-nav-logout{padding:.35rem .65rem;font-size:.75rem}}@media (max-width:768px){.nav-links,.nav-auth{display:none}.hamburger{display:flex}}@media (max-width:640px){:root{--section-pad:4rem 1.25rem}.hero h1{font-size:2.2rem}.footer-grid,.form-row{grid-template-columns:1fr}.cta-group{flex-direction:column;align-items:flex-start}.showcase-grid{grid-template-columns:1fr}.dash-filter-bar{-webkit-overflow-scrolling:touch;width:100%;padding-bottom:.25rem;overflow-x:auto}.dash-filter-btn{min-height:30px;padding:.35rem .65rem;font-size:.7rem}.otp-input{width:42px;height:50px;font-size:1.3rem}.otp-group{gap:.5rem}.detail-row{flex-direction:column;gap:.2rem;padding:.65rem 0}.detail-value{text-align:left}.user-dash-tab span:first-child{display:none}.confirm-card{border-radius:var(--radius-lg);margin:2rem auto}}.portal-container{background:#080f0c;flex-direction:row;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.portal-side{flex:1;justify-content:center;align-items:center;padding:3rem;transition:all .6s cubic-bezier(.25,1,.5,1);display:flex;position:relative;text-decoration:none!important}.portal-side:before{content:"";z-index:2;background:linear-gradient(#080f0c66 0%,#080f0ce6 100%);transition:opacity .5s;position:absolute;inset:0}.portal-side:hover{flex:1.25}.portal-side:hover:before{background:linear-gradient(#080f0c33 0%,#080f0ccc 100%)}.portal-side-bg{z-index:1;transition:transform .8s cubic-bezier(.25,1,.5,1);position:absolute;inset:0}.portal-side:hover .portal-side-bg{transform:scale(1.05)}.portal-card{z-index:3;-webkit-backdrop-filter:blur(12px);text-align:center;background:#080f0ca6;border:1px solid #c9a84c26;border-radius:20px;max-width:480px;padding:3rem 2.5rem;transition:all .5s cubic-bezier(.25,1,.5,1);position:relative;box-shadow:0 20px 40px #0006}.portal-side:hover .portal-card{border-color:#c9a84c66;transform:translateY(-8px);box-shadow:0 30px 60px #c9a84c26}.portal-card h2{color:#fff;letter-spacing:-.02em;margin-bottom:1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:2rem;font-weight:800}.portal-card p{color:#ffffffb3;margin-bottom:2rem;font-size:.95rem;line-height:1.6}.portal-logo-container{z-index:10;text-align:center;pointer-events:none;position:absolute;top:3rem;left:50%;transform:translate(-50%)}.portal-main-logo{color:#fff;letter-spacing:.1em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080f0cd9;border:1px solid #c9a84c33;border-radius:999px;padding:.75rem 2rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:800;box-shadow:0 10px 30px #0000004d}.portal-main-logo span{color:var(--gold-bright)}@media (max-width:768px){.portal-container{flex-direction:column}.portal-side{width:100%;height:50vh;padding:1.5rem}.portal-side:hover{flex:1}.portal-card{padding:2rem}.portal-card h2{font-size:1.6rem}.portal-card p{margin-bottom:1.25rem;font-size:.85rem}.portal-logo-container{top:1.5rem}.portal-main-logo{padding:.5rem 1.5rem;font-size:1.1rem}}.gallery-section{padding:var(--section-pad);background:var(--ivory)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.gallery-item{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);position:relative;overflow:hidden}.gallery-item img{transition:transform .6s var(--ease)}.gallery-item:hover img{transform:scale(1.06)}
