.brand-logo{display:block;object-fit:contain;object-position:left center;background:transparent}.brand-logo--nav{height:72px;width:auto;max-width:220px}@media(max-width:768px){.brand-logo--nav{height:52px;max-width:160px}}.brand-logo--footer{height:100px;width:auto;margin-bottom:.75rem}.brand-logo--hero{height:clamp(100px,18vw,140px);width:auto;margin-bottom:1.25rem;filter:drop-shadow(0 6px 20px rgba(0,0,0,.45));background:transparent}.brand-logo--auth{height:88px;width:auto;margin:0 auto 1.25rem}.notif-bell{position:relative}.notif-bell-btn{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:0;line-height:1;transition:var(--transition)}.notif-bell-btn:hover{background:#faf8f0;border-color:var(--color-secondary)}.notif-bell-btn--pulse{animation:notif-pulse .6s ease 2}@keyframes notif-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 0 4px #c9a22740}}.notif-bell-icon{font-size:1.1rem}.notif-bell-badge{position:absolute;top:-4px;right:-4px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.65rem;font-weight:700;color:#fff;background:var(--color-secondary, #c9a227);border-radius:999px;display:flex;align-items:center;justify-content:center}.notif-panel{position:absolute;right:0;top:calc(100% + .5rem);width:min(360px,calc(100vw - 2rem));max-height:420px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 12px 40px #0b30221f;z-index:200;display:flex;flex-direction:column}.notif-panel-head{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.notif-panel-actions{display:flex;gap:.75rem;align-items:center}.notif-mark-all{background:none;border:none;color:var(--color-primary);font-size:.8rem;cursor:pointer;text-decoration:underline}.notif-list{overflow-y:auto;max-height:360px}.notif-empty{padding:1.5rem 1rem;margin:0;color:var(--color-muted);font-size:.9rem;text-align:center}.notif-item{display:block;padding:.85rem 1rem;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit}.notif-item:hover{background:var(--color-bg-alt)}.notif-item--unread{background:#faf8f0;border-left:3px solid var(--color-secondary)}.notif-item-title{font-size:.85rem;font-weight:600;margin-bottom:.25rem}.notif-item-body{font-size:.8rem;color:var(--color-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-time{font-size:.7rem;color:var(--color-muted);margin-top:.35rem}.notif-toast{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit;max-width:280px}.notif-toast span{font-size:.85rem;color:var(--color-muted);line-height:1.35}.navbar{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--color-border),0 4px 20px #0b30220f;border-bottom:1px solid var(--color-border)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:1rem;min-height:72px;position:relative}.logo-link{display:flex;align-items:center;text-decoration:none;flex-shrink:0;z-index:102}.logo-link:hover{text-decoration:none;opacity:.9}.logo-link .brand-logo{filter:drop-shadow(0 1px 3px rgba(11,48,34,.1))}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:none;background:var(--color-bg-alt);border-radius:var(--radius-sm);cursor:pointer;z-index:102}.nav-toggle span{display:block;height:2px;width:100%;background:var(--color-primary);border-radius:2px;transition:var(--transition)}.nav-toggle--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle--open span:nth-child(2){opacity:0}.nav-toggle--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-links{display:flex;align-items:center;gap:.15rem;flex:1;justify-content:flex-end}.nav-account{display:flex;align-items:center;gap:.35rem;margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--color-border)}.nav-links a:not(.btn){color:var(--color-text);font-weight:600;font-size:.9rem;text-decoration:none;padding:.5rem .85rem;border-radius:var(--radius-sm);transition:var(--transition)}.nav-links a:not(.btn):hover,.nav-links a:not(.btn).active{color:var(--color-primary);background:var(--color-bg-alt);text-decoration:none}.nav-auth{display:flex;align-items:center;gap:.5rem;margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--color-border)}.nav-login{color:var(--color-primary)!important;font-weight:700!important;padding:.5rem 1rem!important}.nav-login:hover{background:var(--color-bg-alt)!important}.btn-signup{background:var(--color-primary)!important;color:#fff!important;border:none!important;font-weight:700!important;padding:.55rem 1.25rem!important;border-radius:var(--radius-sm)!important;box-shadow:0 2px 8px #0b302233;text-decoration:none!important}.btn-signup:hover{background:var(--color-primary-light)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 12px #0b302240;text-decoration:none!important}.nav-user{font-size:.85rem;color:var(--color-muted);padding:0 .5rem;white-space:nowrap}.nav-btn{font-size:.88rem!important}.nav-backdrop{display:none}@media(max-width:768px){.navbar-inner{min-height:64px;flex-direction:row;align-items:center}.nav-toggle{display:flex;margin-left:auto}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--color-border);box-shadow:0 12px 32px #0b30221f;padding:.75rem 1rem 1rem;z-index:101}.nav-links--open{display:flex}.nav-links a:not(.btn){padding:.85rem 1rem;font-size:1rem;border-radius:var(--radius-sm)}.nav-auth{flex-direction:column;align-items:stretch;margin:.5rem 0 0;padding:.75rem 0 0;border-left:none;border-top:1px solid var(--color-border);gap:.5rem}.nav-login{text-align:center;padding:.85rem 1rem!important;border:2px solid var(--color-primary);border-radius:var(--radius-sm)!important}.btn-signup{width:100%;text-align:center;padding:.85rem 1rem!important;font-size:1rem!important}.nav-user{padding:.5rem 1rem}.nav-account{flex-direction:column;align-items:stretch;margin:.5rem 0 0;padding:.75rem 0 0;border-left:none;border-top:1px solid var(--color-border);gap:.5rem}.nav-account .notif-bell{align-self:flex-start}.nav-btn.btn-outline{width:100%;margin-top:.25rem}.nav-backdrop{display:block;position:fixed;right:0;bottom:0;left:0;top:64px;background:#0b241e66;border:none;z-index:99;cursor:pointer}}@media(max-width:380px){.brand-logo--nav{height:48px;max-width:150px}}.footer{margin-top:0;background:linear-gradient(180deg,var(--color-primary) 0%,#0f1f17 100%);color:#e8f0ea;padding:4rem 0 0;position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-cta)}.footer-leaf-divider{display:flex;align-items:center;justify-content:center;gap:1rem;padding:0 1rem 1.5rem;max-width:320px;margin:0 auto}.footer-line{flex:1;height:1px;background:#fff3}.footer-leaf{color:var(--color-leaf);font-size:.9rem}.footer a{color:var(--color-accent-soft);transition:color var(--transition)}.footer a:hover{color:var(--color-accent-light)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem}.footer-brand{font-family:var(--font-display);font-size:1.65rem;margin:0 0 .75rem;color:#fff}.footer-tagline{opacity:.85;line-height:1.7;max-width:320px}.footer h4{margin:0 0 1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent-light)}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin-bottom:.55rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 0;text-align:center;font-size:.85rem;opacity:.65}@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:2rem}}.media-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow);transition:var(--transition)}.media-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.media-card-link{text-decoration:none;color:inherit;display:block}.media-card-image{position:relative;aspect-ratio:4 / 3;overflow:hidden}.media-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.media-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--color-bg-alt)}.media-card:hover .media-card-image img{transform:scale(1.08)}.media-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-card);opacity:.45;pointer-events:none;transition:opacity var(--transition)}.media-card:hover .media-card-overlay{opacity:1}.media-card-badge{position:absolute;top:1rem;left:1rem;padding:.35rem .85rem;background:var(--gradient-cta);color:var(--color-text);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full)}.media-card-pill{position:absolute;top:1rem;right:1rem;padding:.3rem .7rem;background:var(--color-surface-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:capitalize}.media-card-rating{position:absolute;top:1rem;right:1rem;padding:.35rem .75rem;background:var(--color-surface-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:700;font-size:.85rem;border-radius:var(--radius-full);color:var(--color-accent)}.media-card-price{position:absolute;bottom:1rem;left:1rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;font-weight:700;font-size:.95rem;border-radius:var(--radius-sm)}.media-card-price small{font-weight:500;opacity:.85;font-size:.75rem}.media-card-body{padding:1.25rem 1.35rem 1.5rem}.media-card-body h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.2rem;color:var(--color-text)}.media-card-location{margin:0 0 .5rem;font-size:.85rem;color:var(--color-muted)}.media-card-desc{margin:0 0 .75rem;font-size:.9rem;color:var(--color-muted);line-height:1.5}.media-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.media-card-tags .tag{padding:.2rem .55rem;background:var(--color-bg-alt);color:var(--color-primary);font-size:.7rem;font-weight:600;border-radius:var(--radius-full)}.media-card-cta{font-weight:700;font-size:.9rem;color:var(--color-primary);transition:color var(--transition)}.media-card-cta--primary{display:inline-block;padding:.6rem 1.25rem;background:var(--gradient-accent);color:#fff;border-radius:var(--radius-sm);text-align:center;width:100%}.media-card:hover .media-card-cta{color:var(--color-secondary)}.media-card--hotel:hover .media-card-cta--primary{box-shadow:var(--shadow-glow)}.section-header{margin-bottom:2.5rem;text-align:center;max-width:640px;margin-inline:auto}.section-header--light .section-title,.section-header--light .section-subtitle{color:#fff}.section-header--light .section-tag{background:#d4a85340;color:var(--color-accent-soft)}.section-tag{display:inline-block;padding:.35rem 1rem;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-primary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem}.image-gallery{margin:1.5rem 0}.gallery-main{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:zoom-in;aspect-ratio:16 / 9;box-shadow:var(--shadow)}.gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-main:hover img{transform:scale(1.03)}.gallery-zoom-hint{position:absolute;bottom:1rem;right:1rem;background:var(--color-surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.4rem .85rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--color-text)}.gallery-thumbs{display:flex;gap:.6rem;margin-top:.75rem;overflow-x:auto;padding-bottom:.25rem}.gallery-thumb{flex:0 0 88px;height:64px;border:3px solid transparent;border-radius:var(--radius-sm);overflow:hidden;padding:0;cursor:pointer;opacity:.7;transition:var(--transition)}.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--color-accent);opacity:1}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f1f17eb;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease}.gallery-lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow-lg)}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--color-surface-glass);border:none;width:48px;height:48px;border-radius:50%;font-size:1.75rem;cursor:pointer;color:var(--color-text)}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);color:#fff;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery-masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:.75rem}.gallery-masonry .masonry-item{border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer}.gallery-masonry .masonry-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-masonry .masonry-item:hover img{transform:scale(1.08)}.gallery-masonry .masonry-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-masonry .masonry-item:nth-child(5){grid-column:span 2}@media(max-width:768px){.gallery-masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.gallery-masonry .masonry-item:nth-child(1){grid-column:span 2;grid-row:span 1}.gallery-masonry .masonry-item:nth-child(5){grid-column:span 1}}.video-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.video-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition)}.video-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.video-wrapper{position:relative;aspect-ratio:16 / 9;background:var(--color-text)}.video-poster{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-card)}.video-player{width:100%;height:100%;object-fit:cover}.video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:none;background:var(--gradient-cta);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-glow);transition:var(--transition);display:flex;align-items:center;justify-content:center}.video-play-btn:hover{transform:translate(-50%,-50%) scale(1.1)}.play-icon{font-size:1.5rem;margin-left:4px}.video-info{padding:1.25rem}.video-info h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.15rem}.video-info p{margin:0;color:var(--color-muted);font-size:.9rem}.video-featured{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:21 / 9;box-shadow:var(--shadow-lg)}.video-featured video,.video-featured .video-poster{width:100%;height:100%;object-fit:cover}.video-featured .video-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:var(--gradient-card);color:#fff}.video-featured .video-caption h3{margin:0;font-family:var(--font-display);font-size:1.5rem}.hero-video-stack{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(145deg,#0a1f1a,#143d32 45%,#0d2820)}.hero-video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#0a1f1a,#143d32 45%,#0d2820)}.hero-video-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--hero-fade-ms, 1.5s) ease-in-out;z-index:0;pointer-events:none}.hero-video-layer--visible{opacity:1;z-index:1}.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-hero)}.hero-content{position:relative;z-index:1;padding:6rem 0 4rem;max-width:720px;animation:heroFadeUp .8s ease}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-tag{font-size:.9rem;font-weight:600;color:var(--color-accent-soft);margin:0 0 1rem;letter-spacing:.05em}.hero h1{font-family:var(--font-display);font-size:clamp(2.25rem,6vw,3.75rem);margin:0 0 1.25rem;line-height:1.12;font-weight:700;color:#fff;max-width:14ch}.hero-desc{font-size:1.2rem;opacity:.92;margin:0 0 2rem;line-height:1.7;max-width:540px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}.hero-stats{display:flex;gap:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}.hero-stats strong{display:block;font-size:1.75rem;font-family:var(--font-display);color:var(--color-accent-light)}.hero-stats span{font-size:.85rem;opacity:.8}.section{padding:5rem 0}.section-cta{text-align:center;margin-top:2.5rem}.gallery-section{padding:5rem 0;background:var(--color-surface)}.video-section{padding:5rem 0;background:var(--gradient-accent);position:relative}.video-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.video-section .container{position:relative;z-index:1}.cta-banner{padding:5rem 0;background:var(--color-bg-alt);text-align:center}.cta-banner-inner h2{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 .75rem;color:var(--color-primary)}.cta-banner-inner p{color:var(--color-muted);margin:0 0 1.5rem;font-size:1.1rem}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.skeleton-card{height:360px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.hero{min-height:85vh}.hero-content{padding:3rem 0 2.5rem}.hero h1{font-size:clamp(2rem,9vw,2.75rem)}.hero-desc{font-size:1.05rem}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%;justify-content:center;padding:1rem 1.5rem}.hero-stats{gap:1.25rem;flex-wrap:wrap}.hero-stats>div{flex:1;min-width:80px}.skeleton-grid{grid-template-columns:1fr}}.list-hero{padding:4rem 0;color:#fff;text-align:center;position:relative;background-size:cover;background-position:center}.list-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-hero)}.list-hero .container{position:relative;z-index:1}.list-hero h1{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.25rem);margin:0 0 .5rem}.list-hero p{margin:0;opacity:.9;font-size:1.1rem}.list-hero--attractions{background-image:url(https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1600)}.list-hero--hotels{background-image:url(https://images.unsplash.com/photo-1566073771259-6a8506099945?w=1600)}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filter-bar--wrap{margin-bottom:1.25rem}.filter-chip{padding:.55rem 1.15rem;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-muted);cursor:pointer;transition:var(--transition)}.filter-chip:hover,.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:2rem}.filter-form .form-group{margin:0;flex:1;min-width:140px}.breadcrumbs{margin-bottom:1rem;font-size:.85rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0;color:var(--color-muted)}.breadcrumbs li:not(:last-child):after{content:"›";margin-left:.35rem;opacity:.6}.breadcrumbs a{color:var(--color-primary);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.map-location{margin-top:1rem}.map-location-embed{width:100%;height:280px;border:none;border-radius:var(--radius-md, 8px)}.map-location-link{display:inline-block;margin-top:.5rem;font-size:.9rem}.review-section{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--color-border)}.review-section h2{font-family:var(--font-display);font-size:1.75rem;margin:0 0 .35rem}.review-summary{color:var(--color-muted);margin-bottom:1.5rem}.review-form{background:var(--color-bg-alt);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;max-width:520px}.review-form h3{margin:0 0 1rem;font-size:1.1rem}.review-card{background:var(--color-surface);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--color-border);transition:var(--transition)}.review-card:hover{box-shadow:var(--shadow-sm)}.review-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.review-list{display:flex;flex-direction:column;gap:1rem}.review-date{color:var(--color-muted);font-size:.8rem}.date-range-picker{border:1px solid var(--color-border, #e5e5e5);border-radius:var(--radius-md, 8px);padding:.75rem;background:var(--color-bg, #fff)}.date-range-picker-nav{display:flex;justify-content:space-between;margin-bottom:.5rem}.date-range-picker-nav-btn{padding:.25rem .75rem;min-width:2.5rem}.date-range-picker-months{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.date-range-picker-months{grid-template-columns:1fr}}.date-range-picker-month h4{margin:0 0 .5rem;font-size:.95rem;text-align:center}.date-range-picker-weekdays,.date-range-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-range-picker-weekdays span{font-size:.7rem;text-align:center;color:var(--color-muted);padding:.25rem 0}.date-range-picker-day{border:none;background:transparent;padding:.4rem 0;font-size:.85rem;border-radius:4px;cursor:pointer}.date-range-picker-day.outside{visibility:hidden}.date-range-picker-day.blocked{color:#ccc;text-decoration:line-through;cursor:not-allowed}.date-range-picker-day.selected{background:var(--color-primary, #1a5f4a);color:#fff}.date-range-picker-day.in-range{background:#1a5f4a1f}.date-range-picker-day:not(.blocked):not(.outside):hover{background:#1a5f4a33}.date-range-picker-hint{margin:.75rem 0 0;font-size:.8rem;color:var(--color-muted)}.date-range-picker--disabled{opacity:.6;pointer-events:none}.room-list-section{margin:2.5rem 0;padding-top:2rem;border-top:1px solid var(--color-border);scroll-margin-top:88px}.room-list-section h2{font-family:var(--font-display);font-size:1.75rem;margin:0 0 .35rem}.room-list-grid{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.room-list-card{display:grid;grid-template-columns:200px 1fr auto;gap:0;align-items:stretch;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition)}.room-list-card--reserved{opacity:.72;background:var(--color-bg-alt)}.room-list-card.selected{border-color:var(--color-secondary);box-shadow:0 0 0 3px #2a9d8f26}.room-list-card-image{height:100%;min-height:140px;background:var(--color-bg-alt)}.room-list-card-image img,.room-list-card-image-img{width:100%;height:100%;min-height:140px;object-fit:cover}.room-list-card-image--empty{display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:.85rem;min-height:140px}.room-list-card-body{padding:1.25rem 1rem;min-width:0}.room-list-card-body h3{margin:0 0 .35rem;font-size:1.15rem}.room-list-card-meta{color:var(--color-muted);font-size:.9rem;margin:0 0 .5rem}.room-list-card-price{font-weight:700;color:var(--color-primary);font-size:1.1rem;margin:0}.room-list-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.room-list-card-tags .amenity-chip{padding:.5rem 1rem;font-size:.8125rem;line-height:1.35}.room-list-card-action{padding:1.25rem 1.25rem 1.25rem .75rem;display:flex;align-items:center;border-left:1px solid var(--color-border)}@media(max-width:768px){.room-list-card{grid-template-columns:1fr}.room-list-card-image,.room-list-card-image img{min-height:180px}.room-list-card-body{padding:1rem 1.25rem .75rem}.room-list-card-action{padding:0 1.25rem 1.25rem;border-left:none;border-top:none}.room-list-card-action .btn{width:100%}}.auth-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:3rem 0;background:linear-gradient(var(--gradient-hero),var(--gradient-hero)),url(https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1600) center/cover}.auth-card{width:min(440px,92%);background:var(--color-surface);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg)}.auth-card h1{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.85rem}.auth-card .subtitle{color:var(--color-muted);margin:0 0 1.75rem}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--color-muted)}.my-booking-card{padding:1.25rem}.my-booking-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.my-booking-hotel{margin:0 0 .25rem;font-family:var(--font-display);font-size:1.1rem}.my-booking-meta{margin:.25rem 0;color:var(--color-muted);font-size:.9rem}.my-booking-contact{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.my-booking-contact h4{margin:0 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.my-booking-contact p{margin:.25rem 0;font-size:.9rem}.my-booking-contact a{color:var(--color-primary)}.my-booking-policy{margin-top:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--color-bg-alt);font-size:.875rem;line-height:1.5;color:var(--color-muted)}.my-booking-policy--active{background:#eef5f0;color:var(--color-text);border-left:3px solid var(--color-primary)}.my-booking-actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:flex-end;flex-wrap:wrap}.my-booking-price{margin:0;font-weight:700;font-size:1.1rem;text-align:right}.dash{padding-bottom:3rem}.dash-hero{background:var(--gradient-accent);border-radius:var(--radius-lg);padding:2rem 2.25rem;color:#fff;margin-bottom:1.75rem;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.dash-hero:after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:#ffffff14;pointer-events:none}.dash-hero h1{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.25rem);margin:0 0 .35rem;position:relative;z-index:1}.dash-hero p{margin:0;opacity:.92;font-size:1.05rem;max-width:520px;position:relative;z-index:1}.dash-hero-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;position:relative;z-index:1}.dash-hero-pill{background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.4rem .85rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600}.dash-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;border:1px solid transparent}.dash-alert--warn{background:#fff8e6;border-color:#f0d78c;color:#6b4f00}.dash-alert--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.dash-alert--info{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text)}.dash-alert strong{display:block;margin-bottom:.2rem}.dash-section{margin-bottom:2rem}.dash-section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.dash-section-head h2{font-family:var(--font-display);font-size:1.35rem;margin:0}.dash-section-head p{margin:0;font-size:.9rem;color:var(--color-muted)}.dash-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.dash-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;transition:var(--transition);box-shadow:var(--shadow-sm)}.dash-stat:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.dash-stat--accent{border-color:transparent;background:linear-gradient(145deg,#fff 0%,var(--color-bg-alt) 100%);border-left:4px solid var(--color-secondary)}.dash-stat--gold{border-left-color:#c9a227}.dash-stat--danger{border-left-color:#dc2626}.dash-stat-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.dash-stat-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--color-bg-alt)}.dash-stat-icon--teal{background:var(--color-accent-soft)}.dash-stat-icon--green{background:#e8f5ec}.dash-stat-icon--amber{background:#fff8e6}.dash-stat-icon--red{background:#fef2f2}.dash-stat-label{margin:0;font-size:.8rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.dash-stat-value{margin:.15rem 0 0;font-size:1.65rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.dash-stat-sub{margin:.35rem 0 0;font-size:.8rem;color:var(--color-muted)}.dash-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.dash-panel h3{font-family:var(--font-display);margin:0 0 1rem;font-size:1.15rem}.dash-bars{display:flex;flex-direction:column;gap:1rem}.dash-bar-row{display:grid;grid-template-columns:100px 1fr 80px;gap:.75rem;align-items:center;font-size:.9rem}.dash-bar-track{height:10px;background:var(--color-bg-alt);border-radius:var(--radius-full);overflow:hidden}.dash-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--gradient-accent);transition:width .6s ease}.dash-bar-fill--walkin{background:linear-gradient(90deg,#3d8b5f,#2a9d8f)}.dash-bar-value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.dash-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.dash-action{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:var(--transition);box-shadow:var(--shadow-sm)}.dash-action:hover{border-color:var(--color-secondary);box-shadow:var(--shadow);transform:translateY(-3px);color:inherit;text-decoration:none}.dash-action-icon{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);background:var(--gradient-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem}.dash-action-icon--outline{background:var(--color-bg-alt);color:var(--color-primary);border:1px solid var(--color-border)}.dash-action h4{margin:0 0 .25rem;font-size:1rem}.dash-action p{margin:0;font-size:.85rem;color:var(--color-muted);line-height:1.45}.dash-property-hero{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.dash-property-hero img{width:140px;height:100px;object-fit:cover;border-radius:var(--radius)}.dash-property-hero-placeholder{width:140px;height:100px;border-radius:var(--radius);background:var(--color-bg-alt);display:flex;align-items:center;justify-content:center;font-size:2rem}.dash-property-hero h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.5rem}.dash-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.dash-empty{text-align:center;max-width:480px;margin:2rem auto;padding:2.5rem 2rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border);box-shadow:var(--shadow-sm)}.dash-empty-icon{font-size:3rem;margin-bottom:1rem}.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:768px){.dash-hero{padding:1.5rem}.dash-property-hero{grid-template-columns:1fr}.dash-property-hero img,.dash-property-hero-placeholder{width:100%;height:160px}.dash-grid-2{grid-template-columns:1fr}.dash-bar-row{grid-template-columns:1fr;gap:.35rem}.dash-bar-value{text-align:left}}.complaint-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.complaint-card--open{border-left:4px solid var(--color-secondary)}.complaint-thread{display:flex;flex-direction:column;gap:.75rem;margin:1.25rem 0;max-height:360px;overflow-y:auto}.complaint-msg{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--color-bg-alt);font-size:.95rem}.complaint-msg--admin{background:#eef5f0;border-left:3px solid var(--color-primary)}.complaint-msg-meta{font-size:.75rem;color:var(--color-muted);margin-bottom:.35rem}.complaint-policy{font-size:.85rem;color:var(--color-muted);line-height:1.55;padding:.85rem 1rem;background:var(--color-bg-alt);border-radius:var(--radius-sm);margin-bottom:1.25rem}.admin-complaints-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.admin-complaints-grid--split{grid-template-columns:1fr 1.2fr}@media(max-width:768px){.admin-complaints-grid--split{grid-template-columns:1fr}}.admin-templates-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.admin-templates-grid--split{grid-template-columns:minmax(280px,1fr) 1.4fr}.admin-templates-list{display:flex;flex-direction:column;gap:.65rem;max-height:min(70vh,640px);overflow-y:auto;padding-right:.35rem;scrollbar-gutter:stable}.admin-templates-list::-webkit-scrollbar{width:8px}.admin-templates-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.admin-templates-editor{max-height:min(80vh,900px);overflow-y:auto}@media(max-width:900px){.admin-templates-grid--split{grid-template-columns:1fr}.admin-templates-list{max-height:320px}}.admin-users-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.admin-users-create{margin-bottom:1.5rem}.admin-users-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.admin-users-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;align-items:center}.admin-users-search{display:flex;gap:.5rem;flex:1;min-width:220px}.admin-users-search input{flex:1}.admin-users-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.admin-users-grid--split{grid-template-columns:minmax(280px,1fr) 1.2fr}.admin-users-list{display:flex;flex-direction:column;gap:.65rem;max-height:min(72vh,680px);overflow-y:auto;padding-right:.35rem}.admin-user-row{text-align:left;cursor:pointer;width:100%;border:1px solid var(--color-border)}.admin-user-row--selected{border-left:4px solid var(--color-primary)}.admin-user-row-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.admin-user-row-meta{font-size:.85rem;color:var(--color-muted);margin-top:.25rem}.admin-user-row-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.user-status--active{background:#eef5f0}.user-status--restricted{background:#faf8f0;color:#8a6d00}.user-status--disabled{background:#fde8e8;color:#a33}.admin-user-detail{position:sticky;top:5rem;max-height:min(80vh,900px);overflow-y:auto}.admin-user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0}.admin-user-stats div{background:var(--color-bg-alt);border-radius:var(--radius-sm);padding:.65rem;text-align:center}.admin-user-stats strong{display:block;font-size:1.25rem}.admin-user-stats span{font-size:.7rem;color:var(--color-muted)}.admin-user-reason{background:#faf8f0;border-left:3px solid var(--color-secondary);padding:.85rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem}.admin-user-reason p{margin:.35rem 0 0}.admin-user-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.admin-city-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.25rem}.admin-city-chip{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;cursor:pointer;transition:var(--transition)}.admin-city-chip small{color:var(--color-muted);margin-left:.2rem}.admin-city-chip--active,.admin-city-chip:hover{border-color:var(--color-primary);background:var(--color-bg-alt)}@media(max-width:900px){.admin-users-grid--split,.admin-users-form-grid{grid-template-columns:1fr}.admin-user-stats{grid-template-columns:1fr 1fr}.admin-user-detail{position:static}}.list-hero--blog{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.blog-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow);transition:var(--transition)}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.blog-card-link{text-decoration:none;color:inherit;display:block}.blog-card-image{aspect-ratio:16 / 9;background:var(--color-bg-alt);overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover}.blog-card-body{padding:1.25rem}.blog-card-meta{font-size:.8rem;color:var(--color-muted);margin-bottom:.5rem}.blog-card-body h2{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.15rem;line-height:1.35}.blog-card-excerpt{margin:0;font-size:.9rem;color:var(--color-muted);line-height:1.55}.blog-article-header{max-width:720px;margin-bottom:2rem}.blog-article-image{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem;max-height:420px}.blog-article-image img{width:100%;height:100%;object-fit:cover}.blog-content{max-width:720px;line-height:1.8;font-size:1.05rem}.blog-content h2{font-family:var(--font-display);margin:2rem 0 .75rem;font-size:1.35rem}.blog-content h3{margin:1.5rem 0 .5rem;font-size:1.15rem}.blog-content p{margin:0 0 1rem;color:var(--color-text)}.blog-content ul{margin:0 0 1rem 1.25rem}.blog-content li{margin-bottom:.35rem}.blog-cta{margin-top:2.5rem;padding:1.5rem;border-radius:var(--radius-lg);background:var(--color-bg-alt);text-align:center}.photo-manager-intro{background:var(--color-bg-alt);border-radius:var(--radius-sm);padding:.85rem 1rem;margin-bottom:1.25rem;font-size:.9rem;line-height:1.55;color:var(--color-muted)}.photo-manager-intro strong{color:var(--color-text)}.photo-manager-listing{margin-bottom:1.25rem}.photo-manager-label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:.5rem}.photo-manager-listing img{width:100%;max-width:320px;aspect-ratio:16 / 10;object-fit:cover;border-radius:var(--radius);border:2px solid var(--color-secondary);box-shadow:var(--shadow-sm)}.photo-manager-uploads{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.photo-manager-empty{color:var(--color-muted);font-size:.9rem}.photo-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.photo-manager-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}.photo-manager-item--listing{border-color:var(--color-secondary);box-shadow:0 0 0 2px var(--color-accent-soft)}.photo-manager-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.photo-manager-badge{position:absolute;top:6px;left:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .45rem;border-radius:var(--radius-full);background:#0b241ebf;color:#fff}.photo-manager-badge--listing{background:var(--color-secondary)}.photo-manager-actions{display:flex;flex-direction:column;gap:.35rem;padding:.5rem}.photo-manager-actions .btn{width:100%;font-size:.75rem;padding:.4rem .5rem}.manager-rooms-page{background:var(--color-bg);min-height:60vh}.manager-rooms-layout{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:2rem;align-items:start;margin-top:1.5rem}.manager-room-form h3,.manager-rooms-list h3{margin:0 0 1.25rem;font-family:var(--font-display)}.room-photo-upload{display:flex;flex-direction:column;gap:.75rem}.room-photo-preview{width:100%;height:160px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.room-photo-preview--empty{display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);color:var(--color-muted);font-size:.9rem}.room-photo-actions{display:flex;flex-direction:column;gap:.5rem}.room-photo-actions input[type=url]{width:100%;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit}.room-photo-or{text-align:center;font-size:.8rem;color:var(--color-muted)}.manager-rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.manager-room-card{overflow:hidden;padding:0!important}.manager-room-card-img{width:100%;height:150px;object-fit:cover}.manager-room-card-img--empty{display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);color:var(--color-muted);font-size:.85rem}.manager-room-card-body{padding:1rem}.manager-room-card-body h4{margin:0 0 .35rem}.manager-room-card-body p{margin:0 0 .25rem}.manager-room-card-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.manager-room-card-actions .btn,.manager-room-card-actions .image-upload .btn{width:100%}.manager-room-card--editing{border-color:var(--color-secondary);box-shadow:0 0 0 3px #2a9d8f26}.manager-room-form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.manager-room-delete{color:#b91c1c;border-color:#b91c1c}@media(max-width:900px){.manager-rooms-layout{grid-template-columns:1fr}}.finance-page{padding-bottom:3rem}.finance-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.finance-period,.finance-custom-dates{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.finance-custom-dates input{padding:.45rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem}.finance-actions{display:flex;flex-wrap:wrap;gap:.5rem}.finance-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.finance-tab{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);cursor:pointer;font-size:.9rem;font-weight:600;color:var(--color-muted);transition:var(--transition)}.finance-tab:hover{border-color:var(--color-secondary);color:var(--color-text)}.finance-tab.active{background:var(--gradient-accent);color:#fff;border-color:transparent}.finance-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.finance-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm)}.finance-kpi-label{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-weight:600}.finance-kpi-value{margin:.3rem 0 0;font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.finance-kpi-sub{margin:.35rem 0 0;font-size:.8rem;color:var(--color-muted)}.finance-kpi-change--up{color:#15803d}.finance-kpi-change--down{color:#b91c1c}.finance-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}.finance-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.finance-panel h3{font-family:var(--font-display);margin:0 0 1rem;font-size:1.1rem}.finance-trend{display:flex;align-items:flex-end;gap:.65rem;height:180px;padding-top:.5rem}.finance-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.finance-trend-bar-wrap{width:100%;height:140px;display:flex;align-items:flex-end;justify-content:center}.finance-trend-bar{width:72%;max-width:48px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--gradient-accent);min-height:4px;transition:height .5s ease}.finance-trend-label{font-size:.7rem;color:var(--color-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.finance-trend-value{font-size:.72rem;font-weight:600;color:var(--color-text)}.finance-table-wrap{overflow-x:auto}.finance-table{width:100%;border-collapse:collapse;font-size:.88rem}.finance-table th,.finance-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.finance-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);font-weight:600}.finance-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-table tr:hover td{background:var(--color-bg-alt)}.finance-badge{display:inline-block;padding:.2rem .55rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:capitalize}.finance-badge--pending{background:#fff8e6;color:#92400e}.finance-badge--paid{background:#e8f5ec;color:#166534}.finance-badge--online{background:var(--color-accent-soft);color:var(--color-primary)}.finance-badge--walk_in{background:#f0fdf4;color:#166534}.finance-expense-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--color-border)}.finance-expense-row:last-child{border-bottom:none}.finance-print-only{display:none}@media print{.finance-no-print{display:none!important}.finance-print-only,.invoice-print{display:block}.navbar,nav,header.site-header{display:none!important}.finance-page{padding:0}.finance-panel{break-inside:avoid;box-shadow:none}}@media(max-width:768px){.finance-grid-2{grid-template-columns:1fr}.finance-toolbar{flex-direction:column;align-items:stretch}}.support-inbox-back{font-size:.9rem;display:inline-block;margin-bottom:1rem}.support-inbox-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.support-inbox-badge{margin-left:.5rem;background:var(--color-primary, #1a5f4a);color:#fff;padding:.15rem .5rem;border-radius:999px;font-size:.75rem}.support-inbox-setup{background:var(--color-bg-alt, #f5f5f0);padding:.75rem 1rem;border-radius:var(--radius-md, 8px);font-size:.85rem;line-height:1.5;margin-bottom:1.25rem}.support-inbox-setup code{font-size:.8rem;word-break:break-all}.support-inbox-layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1rem;min-height:480px}@media(max-width:900px){.support-inbox-layout{grid-template-columns:1fr}}.support-inbox-list{border:1px solid var(--color-border, #e5e5e5);border-radius:var(--radius-md, 8px);overflow:auto;max-height:70vh;background:#fff}.support-inbox-item{display:block;width:100%;text-align:left;border:none;border-bottom:1px solid var(--color-border, #eee);background:transparent;padding:.85rem 1rem;cursor:pointer}.support-inbox-item:hover,.support-inbox-item.active{background:var(--color-bg-alt, #f8f8f4)}.support-inbox-item.unread{border-left:3px solid var(--color-primary, #1a5f4a)}.support-inbox-item-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem}.support-inbox-item-subject{margin-top:.35rem;font-size:.9rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-inbox-detail{border:1px solid var(--color-border, #e5e5e5);border-radius:var(--radius-md, 8px);padding:1.25rem;background:#fff;overflow:auto;max-height:70vh}.support-inbox-body{margin:1rem 0;padding:1rem;background:var(--color-bg-alt, #fafafa);border-radius:var(--radius-sm, 6px);line-height:1.6;overflow-x:auto}.support-inbox-replies{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border, #eee)}.support-inbox-reply{margin-bottom:1rem;padding:.75rem;background:#eef6f2;border-radius:var(--radius-sm, 6px)}.support-inbox-reply-form{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border, #eee)}.support-inbox-reply-form textarea{width:100%;margin:.75rem 0;padding:.75rem;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-sm, 6px);font-family:inherit}:root{--color-bg: #f7faf8;--color-bg-alt: #e8f4f0;--color-surface: #ffffff;--color-surface-glass: rgba(255, 255, 255, .9);--color-text: #0b241e;--color-muted: #4a6358;--color-primary: #0b3022;--color-primary-light: #1a5c45;--color-secondary: #2a9d8f;--color-accent: #2a9d8f;--color-accent-light: #4ec4b6;--color-accent-soft: #d4f0ec;--color-leaf: #3d8b5f;--color-sky: #a8d4e8;--color-border: #cfe0d8;--color-overlay: rgba(11, 36, 30, .6);--gradient-hero: linear-gradient( 135deg, rgba(11, 48, 34, .82) 0%, rgba(11, 36, 30, .65) 45%, rgba(42, 157, 143, .35) 100% );--gradient-card: linear-gradient( to top, rgba(11, 36, 30, .88) 0%, rgba(11, 36, 30, .15) 55%, transparent 100% );--gradient-accent: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--gradient-cta: linear-gradient(135deg, #2a9d8f 0%, #1a7a6f 100%);--gradient-gold: var(--gradient-cta);--shadow-sm: 0 2px 8px rgba(11, 36, 30, .06);--shadow: 0 8px 32px rgba(11, 36, 30, .1);--shadow-lg: 0 20px 50px rgba(11, 36, 30, .14);--shadow-glow: 0 0 40px rgba(42, 157, 143, .3);--radius-sm: 8px;--radius: 16px;--radius-lg: 24px;--radius-full: 999px;--font-sans: "DM Sans", system-ui, sans-serif;--font-display: "Playfair Display", Georgia, serif;--transition: .25s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}img{max-width:100%;display:block}.container{width:min(1200px,92%);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.75rem;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow);transform:translateY(-2px);color:#fff;text-decoration:none}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff;text-decoration:none}.btn-gold{background:var(--gradient-cta);color:#fff;box-shadow:var(--shadow-glow);font-weight:700}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 6px 24px #2a9d8f73;color:#fff;text-decoration:none}.btn-glass{background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:2px solid rgba(255,255,255,.4)}.btn-glass:hover{background:#ffffff40;color:#fff;text-decoration:none}.section-title{font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.75rem);margin:0 0 .5rem;color:var(--color-text);line-height:1.2}.section-subtitle{color:var(--color-muted);margin:0;font-size:1.05rem;line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem}.card-grid--3{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--color-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-border);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-lg)}.card-body{padding:1.25rem}.card-body h3{margin:0 0 .5rem;font-size:1.15rem}.badge{display:inline-block;padding:.25rem .7rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:capitalize;background:var(--color-accent-soft);color:var(--color-primary)}.form-group{margin-bottom:1.15rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.88rem;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;background:var(--color-surface);transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b43321f}.error-msg{color:#b91c1c;font-size:.9rem;margin-top:.5rem}.success-msg{color:var(--color-primary-light);font-size:.9rem}.loading,.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-muted)}.star-rating{display:flex;gap:.15rem;margin:.5rem 0}.star-rating .star{background:none;border:none;font-size:1.35rem;color:#ddd;cursor:pointer;padding:0;transition:transform .15s}.star-rating .star:hover:not(:disabled){transform:scale(1.15)}.star-rating .star.filled{color:var(--color-accent)}.star-rating .star:disabled{cursor:default}.page-back{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:var(--color-muted);margin-bottom:1rem;transition:color var(--transition)}.page-back:hover{color:var(--color-primary);text-decoration:none}.detail-hero{margin:1.5rem 0 2rem}.detail-meta{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 1.5rem}.detail-meta-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.9rem}.detail-meta-item strong{color:var(--color-primary)}.amenities-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.amenity-chip{padding:.4rem .9rem;background:var(--color-bg-alt);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;color:var(--color-primary)}.booking-panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--color-border);margin-top:2rem;scroll-margin-top:88px}.booking-panel h2{font-family:var(--font-display);margin:0 0 1.5rem;font-size:1.5rem}.detail-layout{display:grid;grid-template-columns:1fr 400px;gap:2.5rem;align-items:start}@media(max-width:900px){.detail-layout{grid-template-columns:1fr}}.account-banner{padding:.75rem 1rem;text-align:center;font-size:.9rem;border-bottom:1px solid var(--color-border)}.account-banner--restricted{background:#faf8f0;color:#6b5600}
