:root {
    --black:#0b0b0c;--charcoal:#171719;--gold:#c8943d;--gold-bright:#d6a629;--warm-white:#f7f4ee;--paper:#fffdfa;--white:#fff;--ink:#26231f;--muted:#6e6a61;--border:#ded8cc;--success:#287a52;--success-soft:#eef7ef;--error:#b7473a;--error-soft:#fff2ef;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--container:1180px;--radius-sm:4px;--radius:8px;--radius-lg:14px;--shadow:0 16px 40px rgba(29,22,13,.12);--shadow-soft:0 8px 24px rgba(29,22,13,.08);--ease:180ms ease
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.04}h1{font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.03em}h2{font-size:clamp(2.25rem,4vw,3.55rem);letter-spacing:-.025em}h3{font-size:1.6rem}address{font-style:normal}:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:86px 0}.section--soft{background:var(--warm-white)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:18px;top:12px;z-index:200;transform:translateY(-160%);background:var(--white);color:var(--black);padding:12px 18px;border-radius:var(--radius)}.skip-link:focus{transform:none}.muted{color:var(--muted)}.is-hidden{display:none!important}.eyebrow{margin:0 0 10px;color:#9c6e27;font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow--light{color:#e3bf7d}.gold-rule{width:52px;height:2px;margin:18px 0 24px;background:var(--gold)}.section-heading{max-width:720px;margin:0 auto 44px;text-align:center}.section-heading .gold-rule{margin-inline:auto}.section-heading h2{margin-bottom:0}.lead{max-width:720px;color:#4b4842;font-size:1.08rem}.centered-action{display:flex;justify-content:center;gap:14px;margin-top:34px}.button-row{display:flex;flex-wrap:wrap;gap:14px}
.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:12px 24px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.07em;line-height:1.2;text-align:center;text-transform:uppercase;transition:transform var(--ease),box-shadow var(--ease),background var(--ease),color var(--ease)}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.button--gold{background:linear-gradient(100deg,#b9802b,#d7a84e);color:var(--white)}.button--outline{border-color:var(--gold);background:transparent;color:#7b541d}.button--light-outline{border-color:rgba(255,255,255,.72);background:rgba(0,0,0,.16);color:var(--white)}.button--small{min-height:38px;padding:10px 17px;font-size:.67rem}.button--block{width:100%}
.site-header{position:relative;z-index:50;background:var(--black);color:var(--white)}.utility-strip{border-bottom:1px solid rgba(214,166,41,.28);background:#101011;font-size:.68rem}.utility-strip__inner{display:flex;min-height:34px;align-items:center;gap:32px}.utility-strip__inner>*{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.78)}.nav-shell__inner{display:grid;min-height:104px;grid-template-columns:120px 1fr auto;align-items:center;gap:30px}.brand{align-self:stretch;display:flex;align-items:center}.brand img{width:86px;height:86px;object-fit:contain}.primary-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.7vw,27px)}.primary-nav a{position:relative;padding:10px 0;color:rgba(255,255,255,.82);font-size:.68rem;font-weight:600;text-transform:uppercase}.primary-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:right var(--ease)}.primary-nav a:hover::after,.primary-nav a.is-active::after{right:0}.primary-nav a.is-active{color:var(--white)}.nav-actions{display:flex;align-items:center;gap:22px}.manage-link{padding:8px 0 5px;border-bottom:1px solid rgba(255,255,255,.75);font-size:.68rem;text-transform:uppercase}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;margin:5px auto;background:var(--white)}.demo-notice{padding:7px 18px;background:#30250f;color:#f6d99d;font-size:.7rem;text-align:center}.global-alert{width:min(calc(100% - 40px),var(--container));margin:18px auto 0;padding:13px 16px;border-radius:var(--radius)}.global-alert--success{border:1px solid #a7cda8;background:var(--success-soft);color:#236238}.global-alert--error{border:1px solid #e7aaa2;background:var(--error-soft);color:#902f26}
.home-hero{position:relative;min-height:620px;color:var(--white);overflow:hidden}.home-hero>img,.page-hero>img,.lookup-hero>img,.reservation-hero>img,.not-found>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-hero__shade,.page-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.46) 48%,rgba(0,0,0,.12) 100%)}.home-hero__content{position:relative;display:flex;min-height:620px;flex-direction:column;justify-content:center;align-items:flex-start;padding-bottom:70px}.home-hero h1{max-width:700px;margin-bottom:16px;font-size:clamp(4rem,7vw,6.3rem)}.home-hero__content>p:not(.eyebrow){max-width:550px;margin-bottom:28px;font-size:1.05rem}
.availability-overlap{position:relative;z-index:5;margin-top:-44px}.availability-form{display:grid;min-height:90px;grid-template-columns:repeat(4,1fr) auto;align-items:center;padding:0 18px;border:1px solid #8d6a2a;border-radius:var(--radius);background:linear-gradient(120deg,#242426,#171719);color:var(--white);box-shadow:var(--shadow)}.availability-form .field-group{min-width:0;padding:6px 22px;border-right:1px solid rgba(255,255,255,.2)}.availability-form label{display:block;margin-bottom:3px;color:#c5bba9;font-size:.63rem;font-weight:600;text-transform:uppercase}.availability-form input,.availability-form select{width:100%;min-height:34px;padding:0;border:0;background:transparent;color:var(--white);color-scheme:dark;font-size:.8rem}.availability-form option{color:var(--ink)}.availability-form .button{margin-left:20px}.availability-overlap--page{margin-bottom:20px}.availability-overlap--search{margin-top:-40px}
.split-feature{display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:64px}.split-feature>img{width:100%;height:470px;object-fit:cover}.split-feature p:not(.eyebrow){max-width:570px;margin-bottom:20px;color:#504c45}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.room-list{display:grid;gap:20px}.room-card{display:grid;grid-template-columns:minmax(300px,.92fr) 1.48fr;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:0 3px 10px rgba(0,0,0,.025);transition:transform var(--ease),box-shadow var(--ease)}.room-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.room-card__image{min-height:330px;overflow:hidden}.room-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease}.room-card:hover .room-card__image img{transform:scale(1.025)}.room-card__body{display:flex;flex-direction:column;padding:24px 28px}.room-card__heading{display:flex;justify-content:space-between;gap:20px}.room-card__heading h3{margin:0 0 12px;font-size:2rem}.room-card__body>p:not(.room-price):not(.availability-note){color:var(--muted)}.room-price{flex-shrink:0;margin:0;color:#171515;font-family:var(--serif);font-size:1.85rem;line-height:1;text-align:right}.room-price span,.room-price small{display:block;margin-bottom:4px;color:var(--muted);font-family:var(--sans);font-size:.66rem;font-weight:500}.room-price small{display:inline;margin-left:4px}.room-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0;padding:0;color:#4b4842;font-size:.75rem;list-style:none}.room-facts li::before{content:'◇';margin-right:6px;color:var(--gold)}.room-facts--large{gap:26px;padding-bottom:20px;border-bottom:1px solid var(--border);font-size:.82rem}.amenity-inline{margin:4px 0 14px;color:var(--muted);font-size:.72rem}.availability-note{display:flex;justify-content:space-between;margin-top:auto;color:var(--success);font-size:.7rem}.room-card__actions{display:flex;justify-content:space-between;gap:14px;margin-top:18px}.room-card--compact{display:block}.room-card--compact .room-card__image{display:block;min-height:240px}.room-card--compact .room-card__body{padding:19px 20px}.room-card--compact .room-card__heading{display:block}.room-card--compact .room-price{text-align:left;font-size:1.15rem}.room-card--compact .room-price span{display:inline;margin-right:5px}.room-card--compact .room-card__body>p:not(.eyebrow):not(.room-price){display:none}.room-card--compact .room-facts{margin-bottom:0;font-size:.67rem}.room-card--compact .room-card__actions{display:none}
.dining-banner{position:relative;min-height:430px;overflow:hidden;color:var(--white)}.dining-banner>img{position:absolute;width:100%;height:100%;object-fit:cover}.dining-banner__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.32) 65%,rgba(0,0,0,.05))}.dining-banner__content{position:relative;display:flex;min-height:430px;flex-direction:column;align-items:flex-start;justify-content:center}.dining-banner h2{margin-bottom:14px;font-size:clamp(3rem,5vw,4.8rem)}.dining-banner__content>p:not(.eyebrow){max-width:460px}.icon-feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.icon-feature-grid a{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:0 32px;border-right:1px solid var(--border)}.icon-feature-grid a:last-child{border:0}.icon-feature-grid a>span{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:#f1e7d4;color:#8b6123;font-size:1.4rem}.icon-feature-grid h3{margin-bottom:8px;font-family:var(--sans);font-size:.85rem;font-weight:700;text-transform:uppercase}.icon-feature-grid p{color:var(--muted);font-size:.73rem}.icon-feature-grid strong{color:#7e551d;font-size:.67rem;text-transform:uppercase}
.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.offer-grid--large{grid-template-columns:1fr}.offer-card{display:grid;min-height:250px;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}.offer-card>img{width:100%;height:100%;object-fit:cover}.offer-card>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px}.offer-card h2,.offer-card h3{margin-bottom:10px}.offer-card p{color:var(--muted)}.offer-card a:not(.button){color:#875e23;font-size:.72rem;font-weight:700;text-transform:uppercase}.offer-grid--large .offer-card{min-height:420px}.home-gallery{padding-bottom:26px}.home-gallery__grid{display:grid;grid-template-columns:repeat(5,1fr)}.home-gallery__grid img{width:100%;height:220px;object-fit:cover}
.page-hero{position:relative;min-height:520px;color:var(--white)}.page-hero--short{min-height:420px}.page-hero__content{position:relative;display:flex;min-height:inherit;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px 0}.page-hero h1{max-width:860px;margin-bottom:14px}.page-hero__content>p:not(.eyebrow){max-width:660px;font-size:1.05rem}.simple-hero{padding:84px 0 68px;background:linear-gradient(135deg,#f4eee3,var(--white));text-align:center}.simple-hero h1{margin-bottom:14px}.simple-hero p:not(.eyebrow){max-width:680px;margin-inline:auto;color:var(--muted)}.editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.editorial-grid article{min-height:320px;padding:46px;border:1px solid var(--border);background:var(--white)}.editorial-grid article p:not(.eyebrow){max-width:500px;color:var(--muted);font-size:1.02rem}.editorial-quote{grid-column:1/-1;padding:68px;background:var(--charcoal);color:var(--white);text-align:center}.editorial-quote p{margin-bottom:14px;font-family:var(--serif);font-size:2.6rem}.editorial-quote span{color:#d9bd87;font-size:.72rem;text-transform:uppercase}.cta-band{padding:58px 0;background:var(--charcoal);color:var(--white)}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-band h2{margin-bottom:0;font-size:clamp(2.1rem,4vw,3.2rem)}
.search-hero{min-height:300px;padding:70px 0 92px;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.4)),url('/images/room-suite.jpg') center/cover;color:var(--white)}.search-hero h1{margin-bottom:8px}.results-layout{display:grid;grid-template-columns:235px 1fr;align-items:start;gap:30px}.filters{position:sticky;top:20px;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}.filters__title{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border)}.filters h2{margin:0;font-family:var(--sans);font-size:.86rem;text-transform:uppercase}.filters button{border:0;background:transparent;color:#875e23;font-size:.68rem;text-transform:uppercase}.filters fieldset{margin:0;padding:19px 0;border:0;border-bottom:1px solid var(--border)}.filters fieldset:last-child{border:0}.filters legend{margin-bottom:10px;font-size:.72rem;font-weight:700;text-transform:uppercase}.filters label{display:block;margin:8px 0;color:var(--muted);font-size:.73rem}.filters input{accent-color:var(--gold)}.results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.results-heading h2{margin:0;font-size:2.7rem}.results-heading>label{color:var(--muted);font-size:.68rem;text-transform:uppercase}.results-heading select{margin-left:8px;padding:10px;border:1px solid var(--border);background:var(--white)}.state-card{padding:50px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);text-align:center}.state-card--error{border-color:#e7aaa2;background:var(--error-soft)}.state-card--large{max-width:740px;margin-inline:auto;padding:78px 50px;box-shadow:var(--shadow-soft)}.state-card--large h1{font-size:clamp(2.6rem,5vw,4.6rem)}.state-icon{display:grid;width:74px;height:74px;margin:0 auto 24px;place-items:center;border:2px solid var(--gold);border-radius:50%;color:#956621;font-family:var(--serif);font-size:2.7rem}.state-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}.state-page{min-height:60vh;background:var(--warm-white)}.spinner{width:62px;height:62px;margin:0 auto 28px;border:3px solid #eadfc9;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px;color:var(--muted);font-size:.73rem}.room-gallery{display:grid;height:520px;grid-template-columns:1.25fr .5fr .5fr;grid-template-rows:1fr 1fr;gap:8px}.room-gallery button{overflow:hidden;padding:0;border:0;border-radius:var(--radius);background:#ddd}.room-gallery button:first-child{grid-row:1/3}.room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease}.room-gallery button:hover img{transform:scale(1.03)}.room-detail__layout{display:grid;grid-template-columns:1fr 345px;align-items:start;gap:50px;margin-top:32px}.room-title-row{display:flex;justify-content:space-between;gap:30px}.room-title-row h1{margin-bottom:14px;color:#24211e;font-size:clamp(3.2rem,5vw,5rem)}.amenity-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:38px 0;padding:30px 0;border-block:1px solid var(--border)}.amenity-columns h2{font-family:var(--sans);font-size:.72rem;text-transform:uppercase}.amenity-columns ul,.rate-grid ul{margin:0;padding:0;color:var(--muted);font-size:.72rem;list-style:none}.amenity-columns li,.rate-grid li{margin:8px 0}.amenity-columns li::before,.rate-grid li::before{content:'✓';margin-right:8px;color:var(--success)}.accessible-callout,.info-callout{margin:24px 0;padding:18px 20px;border:1px solid #dab871;border-radius:var(--radius);background:#fffaf1;color:#5b4a31}.accessible-callout p{margin:4px 0 0}.rate-section{margin-top:55px}.rate-section h2{font-size:2.65rem}.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rate-grid article{position:relative;padding:28px;border:1px solid var(--border);border-radius:var(--radius)}.rate-grid article.is-recommended{border-color:var(--gold)}.tag{position:absolute;right:12px;top:-12px;padding:5px 10px;background:var(--gold);color:var(--white);font-size:.6rem;text-transform:uppercase}.rate-grid .room-price{margin:16px 0;text-align:left}.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.policy-grid article{padding:20px;background:var(--warm-white)}.policy-grid h3{margin-bottom:6px;font-family:var(--sans);font-size:.72rem;text-transform:uppercase}.policy-grid p{margin:0;color:var(--muted);font-size:.72rem}.stay-selector{position:sticky;top:20px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.stay-selector>h2{margin:0;padding:20px;background:var(--charcoal);color:var(--white);font-family:var(--sans);font-size:.82rem;text-align:center;text-transform:uppercase}.stay-selector form{padding:22px}.stay-selector label,.stay-selector legend{display:block;margin:12px 0 5px;color:#4b4842;font-size:.67rem;font-weight:700;text-transform:uppercase}.stay-selector input,.stay-selector select{width:100%;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}.stay-selector fieldset{margin:16px 0;padding:0;border:0}.stay-selector .radio-card{padding:10px;border:1px solid var(--border)}.stay-selector .radio-card input{width:auto;margin-right:5px}.best-rate{color:var(--muted);font-size:.67rem;text-align:center}.related-rooms{margin-top:68px}.gallery-dialog{position:fixed;width:min(1000px,calc(100% - 30px));max-width:none;padding:0;border:0;background:transparent}.gallery-dialog::backdrop,.request-dialog::backdrop{background:rgba(0,0,0,.84)}.gallery-dialog img{width:100%;max-height:80vh;object-fit:contain}.gallery-dialog button{position:absolute;right:8px;top:8px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:var(--white);font-size:1.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:12px}.gallery-grid button{overflow:hidden;padding:0;border:0}.gallery-grid button:nth-child(1),.gallery-grid button:nth-child(5){grid-column:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease}.gallery-grid button:hover img{transform:scale(1.025)}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px}.contact-cards{display:grid;gap:15px}.contact-cards article{padding:28px;border:1px solid var(--border);background:var(--white)}.contact-cards article>span{color:var(--gold);font-size:1.5rem}.contact-cards h2{margin:7px 0;font-size:2rem}.contact-cards p{margin-bottom:0;color:var(--muted)}.contact-cards a{color:#83591f}.contact-stack{display:grid;gap:18px}.contact-map{overflow:hidden;border:1px solid var(--border);background:var(--white)}.contact-map>div{padding:24px 28px}.contact-map h2{margin:7px 0;font-size:2rem}.contact-map p:not(.eyebrow){margin-bottom:0;color:var(--muted)}.contact-map iframe{display:block;width:100%;height:360px;border:0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:38px;background:var(--warm-white)}.contact-form h2,.contact-form>.eyebrow,.contact-form button{grid-column:1/-1}.contact-form label,.form-grid label,.request-dialog label{display:flex;flex-direction:column;gap:7px;color:#4a4742;font-size:.7rem;font-weight:700;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea,.form-grid input,.form-grid select,.form-grid textarea,.request-dialog textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);text-transform:none}.span-2{grid-column:1/-1}.faq-list{max-width:880px}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{padding:24px 4px;font-family:var(--serif);font-size:1.55rem;cursor:pointer}.faq-list details p{max-width:720px;padding:0 4px 25px;color:var(--muted)}.prose{max-width:820px}.prose h2{margin:46px 0 12px;font-size:2.1rem}.prose p{color:#4d4943;font-size:1rem}.prose a{color:#7b541d;text-decoration:underline}
.booking-progress{padding:48px 0 12px}.booking-progress ol{display:flex;margin:0;padding:0;list-style:none}.booking-progress li{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:9px;color:var(--muted);font-size:.68rem;text-align:center}.booking-progress li:not(:last-child)::after{content:'';position:absolute;z-index:-1;left:calc(50% + 26px);right:calc(-50% + 26px);top:18px;height:1px;background:var(--border)}.booking-progress li.is-complete::after{background:var(--gold)}.booking-progress li>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid #8c887f;border-radius:50%;background:var(--paper);color:var(--ink)}.booking-progress li.is-active>span{border-color:var(--gold);background:var(--gold);color:var(--white)}.booking-progress li.is-active strong{color:#a16d22}.checkout-section{padding-top:54px}.checkout-layout{display:grid;grid-template-columns:1fr 370px;align-items:start;gap:64px}.form-intro{margin-bottom:32px}.form-intro h1{margin-bottom:15px;font-size:clamp(3rem,5vw,4.8rem)}.form-intro>p:not(.eyebrow){max-width:700px;color:var(--muted);font-size:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}.form-grid label>span,.field-error{color:var(--error);font-size:.68rem;text-transform:none}.form-errors{margin-bottom:24px;padding:16px 20px;border:1px solid #e7aaa2;border-radius:var(--radius);background:var(--error-soft);color:#902f26}.form-errors ul{margin-bottom:0}.check-row{display:flex;align-items:flex-start;gap:10px;margin:20px 0;color:var(--muted);font-size:.74rem}.check-row input{margin-top:4px;accent-color:var(--gold)}.check-row a{color:#7b541d;text-decoration:underline}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.form-actions>a{font-size:.7rem;font-weight:700;text-transform:uppercase}.form-actions>div{display:flex;gap:12px}.reservation-summary{position:sticky;top:20px;overflow:hidden;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.reservation-summary>h2{margin:-20px -20px 20px;padding:18px;background:var(--charcoal);color:var(--white);font-family:var(--sans);font-size:.78rem;text-align:center;text-transform:uppercase}.reservation-summary>img{width:100%;height:220px;border-radius:var(--radius-sm);object-fit:cover}.reservation-summary>h3{margin:20px 0 2px;font-size:2rem}.summary-facts{margin:20px 0;padding:0;list-style:none}.summary-facts li{display:flex;justify-content:space-between;gap:20px;padding:9px 0;color:var(--muted);font-size:.72rem}.summary-facts strong{color:var(--ink);text-align:right}.price-breakdown{padding-top:14px;border-top:1px solid var(--border)}.price-breakdown p{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px;color:var(--muted);font-size:.74rem}.price-breakdown strong{color:var(--ink)}.price-breakdown__total{margin-top:15px;padding-top:15px;border-top:1px solid var(--border);font-size:1rem!important}.price-breakdown__total strong{color:#9b6921;font-family:var(--serif);font-size:1.7rem}.price-breakdown__due{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);color:#4e6960!important}.price-breakdown__due strong{color:#17603f;font-size:1.05rem}.secure-callout{display:flex;gap:10px;margin-top:18px;padding:13px;border:1px solid #a7cda8;border-radius:var(--radius);background:var(--success-soft);color:var(--success)}.secure-callout span{display:flex;flex-direction:column;font-size:.68rem}
.extras-group>h2{margin:30px 0 12px;font-family:var(--sans);font-size:.75rem;text-transform:uppercase}.extra-card{display:grid;grid-template-columns:220px 1fr;gap:20px;margin-bottom:14px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}.extra-card.is-selected{border-color:var(--gold);background:#fffaf2}.extra-card>img{width:100%;height:165px;object-fit:cover}.extra-card>div{padding:10px 10px 8px 0}.extra-card__heading{display:flex;justify-content:space-between;gap:20px}.extra-card__heading h3{margin-bottom:8px}.extra-card__heading strong{font-family:var(--serif);font-size:1.3rem}.extra-card p{color:var(--muted);font-size:.75rem}.extra-card__controls{display:flex;align-items:end;gap:14px}.extra-card__controls label{color:var(--muted);font-size:.66rem;text-transform:uppercase}.extra-card__controls select{display:block;margin-top:4px;padding:8px 20px 8px 10px;border:1px solid var(--border);background:var(--white)}.extra-card__controls span{padding-bottom:7px;color:var(--muted);font-size:.68rem}
.choice-section{margin:0 0 32px;padding:0;border:0}.choice-section>legend{margin-bottom:12px;font-size:.76rem;font-weight:700;text-transform:uppercase}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.selection-card{display:flex;gap:12px;min-height:140px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.selection-card:has(input:checked){border-color:var(--gold);background:#fffaf2}.selection-card input{margin-top:5px;accent-color:var(--gold)}.selection-card span{display:flex;flex-direction:column}.selection-card strong{text-transform:uppercase}.selection-card small{margin:7px 0 16px;color:var(--muted)}.selection-card b{color:#a06d24;font-family:var(--serif);font-size:1.65rem}.payment-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}.payment-tabs label{border-right:1px solid var(--border)}.payment-tabs label:last-child{border:0}.payment-tabs input{position:absolute;opacity:0}.payment-tabs span{display:block;padding:14px 8px;text-align:center}.payment-tabs label:has(input:checked) span{outline:1px solid var(--gold);background:#fffaf2;color:#82591e}.hosted-payment-panel{padding:30px;border:1px solid var(--border);border-top:0;background:var(--warm-white);text-align:center}.provider-mark{display:inline-block;padding:7px 12px;border-radius:20px;background:var(--charcoal);color:#e6bf73;font-weight:700}.hosted-payment-panel h2{margin:18px 0 8px;font-size:2rem}.hosted-payment-panel p{color:var(--muted);font-size:.76rem}.provider-placeholder{display:flex;justify-content:space-between;gap:20px;padding:16px;border:1px dashed #b9ac96;background:var(--white);color:var(--muted);font-size:.7rem}.billing-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0;padding:20px;border:1px solid var(--border)}.billing-summary h2{margin:0;font-family:var(--sans);font-size:.9rem}.billing-summary>p{margin:0;color:var(--muted);font-size:.72rem;text-align:right}

.contact-link-list{display:grid;gap:7px;margin-top:8px}.contact-link-list a{display:block;line-height:1.35}

.confirmation-header{display:flex;align-items:center;gap:28px;margin-bottom:35px}.confirmation-header>span{display:grid;width:90px;height:90px;flex:0 0 auto;place-items:center;border:3px solid var(--gold);border-radius:50%;color:#9c6a21;font-size:3.4rem}.confirmation-header h1{margin-bottom:6px;font-size:clamp(3rem,5vw,4.6rem)}.confirmation-grid{display:grid;grid-template-columns:1fr 385px;align-items:start;gap:50px}.reference-panel{padding:30px;border:1px solid var(--gold);border-radius:var(--radius);text-align:center}.reference-panel p{margin-bottom:4px;color:var(--muted);font-size:.78rem;text-transform:uppercase}.reference-panel strong{display:block;color:#a36c20;font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:.08em}.reference-panel button{border:0;background:transparent;color:#7b541d;font-size:.67rem;text-decoration:underline}.delivery-note{color:var(--success);font-size:.76rem;text-align:center}.confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}.confirmation-details article{padding:24px;border:1px solid var(--border)}.confirmation-details h2{font-size:1.5rem}.confirmation-details p:not(.eyebrow){display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:.72rem}.confirmation-details strong{color:var(--ink)}.status-success{color:var(--success)!important}.document-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:36px 0;padding:22px 28px;border:1px solid var(--border)}.document-actions>div{margin-right:auto}.document-actions h2{margin:0;font-size:1.6rem}.next-steps{margin:55px 0 30px;text-align:center}.next-steps>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px}.next-steps article{padding:15px 30px;border-right:1px solid var(--border)}.next-steps article:last-child{border:0}.next-steps span{display:grid;width:54px;height:54px;margin:0 auto 14px;place-items:center;border:1px solid var(--gold);border-radius:50%;color:#9d6920}.next-steps h3{font-size:1.3rem}.next-steps p{color:var(--muted);font-size:.72rem}
.lookup-hero{position:relative;min-height:720px;color:var(--white)}.lookup-hero>.container{position:relative;display:flex;min-height:720px;flex-direction:column;align-items:center;justify-content:center;padding:55px 0;text-align:center}.lookup-hero h1{margin-bottom:7px}.lookup-card{width:min(560px,100%);margin-top:28px;padding:32px 42px;border-radius:var(--radius-lg);background:rgba(255,255,255,.98);color:var(--ink);box-shadow:var(--shadow);text-align:left}.lookup-card h2{margin-bottom:18px;font-family:var(--sans);font-size:.84rem;text-align:center;text-transform:uppercase}.lookup-card label{display:block;margin:14px 0;font-size:.68rem;font-weight:700;text-transform:uppercase}.lookup-card input{width:100%;margin-top:5px;padding:13px;border:1px solid var(--border);border-radius:var(--radius-sm)}.lookup-card label>span{display:block;color:var(--error);font-size:.68rem;text-transform:none}.lookup-card>p{margin:15px 0 0;color:var(--muted);font-size:.68rem;text-align:center}.no-account{display:flex;max-width:650px;align-items:center;justify-content:center;gap:24px;margin:0 auto 70px;padding:24px;border:1px solid #dfc18c}.no-account>span{color:var(--gold);font-size:2rem}.no-account h2{margin-bottom:5px;font-size:1.7rem}.no-account p{margin:0;color:var(--muted)}.no-account--small{margin:16px 0 0;font-size:.72rem}.manage-feature-grid{display:grid;grid-template-columns:repeat(3,1fr)}.manage-feature-grid article{padding:30px 50px;border-right:1px solid var(--border);text-align:center}.manage-feature-grid article:last-child{border:0}.manage-feature-grid span{display:grid;width:66px;height:66px;margin:0 auto 18px;place-items:center;border:1px solid var(--gold);border-radius:50%;color:#9d6920;font-size:1.7rem}.manage-feature-grid p{color:var(--muted);font-size:.75rem}.verification-page{display:grid;min-height:64vh;place-items:center;background:var(--warm-white)}.verification-card{width:min(520px,calc(100% - 40px));padding:46px;border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-soft);text-align:center}.verification-card h1{font-size:3rem}.verification-card>label{display:block;margin-top:22px;font-size:.68rem;font-weight:700;text-transform:uppercase}.verification-card>input{width:100%;margin:8px 0 18px;padding:15px;border:1px solid var(--border);font-family:var(--serif);font-size:2rem;letter-spacing:.4em;text-align:center}.verification-card>a{display:block;margin-top:15px;color:#7b541d;font-size:.7rem}
.reservation-hero{position:relative;min-height:310px;color:var(--white)}.reservation-hero .container{position:relative;display:flex;min-height:310px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.reservation-hero h1{margin-bottom:10px}.status-pill{padding:7px 14px;border-radius:4px;background:var(--success);font-weight:700;text-transform:uppercase}.manage-layout{display:grid;grid-template-columns:1fr 320px;align-items:start;gap:24px}.manage-main>.global-alert{width:100%;margin:0 0 20px}.stay-overview{display:grid;grid-template-columns:340px 1fr;gap:28px;padding:0;overflow:hidden;border:1px solid var(--border);background:var(--white)}.stay-overview>img{width:100%;height:100%;min-height:310px;object-fit:cover}.stay-overview>div{padding:28px 28px 20px 0}.stay-overview h2{font-size:2.2rem}.stay-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stay-facts p,.check-times p{display:flex;flex-direction:column;margin:0}.stay-facts span,.check-times{color:var(--muted);font-size:.68rem}.check-times{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.check-times strong{color:var(--ink)}.manage-panel{margin-top:16px;padding:24px;border:1px solid var(--border);background:var(--white)}.manage-panel h2{margin-bottom:16px;font-size:1.6rem}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading button,.manage-panel>button{border:0;background:transparent;color:#8d6020}.two-column-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-column-details p{display:flex;flex-direction:column;margin:0;color:var(--muted);font-size:.68rem}.two-column-details strong{margin-top:4px;color:var(--ink)}.service-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:10px 0;border-top:1px solid var(--border);font-size:.72rem}.manage-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.line-item{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.72rem}.line-item strong{color:var(--ink)}.timeline{margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:9px 0;border-left:1px solid #dab871}.timeline time{padding-left:18px;color:var(--muted);font-size:.68rem}.timeline p{display:flex;flex-direction:column;margin:0;color:var(--muted);font-size:.7rem}.timeline strong{color:var(--ink)}.manage-actions{padding:24px;border:1px solid var(--border);background:var(--white)}.manage-actions h2{font-size:1.8rem}.manage-actions button,.manage-sidebar .manage-panel>button{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:10px;padding:15px;border:1px solid var(--border);background:var(--white);color:var(--ink);text-align:left}.manage-actions button:hover,.manage-sidebar .manage-panel>button:hover{border-color:var(--gold)}.manage-actions .danger-action{border-color:#e1a7a1;color:var(--error)}.request-dialog{width:min(540px,calc(100% - 30px));padding:0;border:0;border-radius:var(--radius-lg)}.request-dialog form{position:relative;padding:36px}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:1.8rem}
.reassurance{border-block:1px solid #e4d5bb;background:#faf5eb}.reassurance__grid{display:grid;grid-template-columns:repeat(4,1fr)}.reassurance__grid>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:25px 22px;border-right:1px solid var(--border)}.reassurance__grid>div:last-child{border:0}.reassurance__grid>div>span{display:grid;width:40px;height:40px;place-items:center;border:1px solid #ddcaa6;border-radius:50%;color:#8d6020}.reassurance p{display:flex;flex-direction:column;margin:0;color:var(--muted);font-size:.66rem}.reassurance strong{color:var(--ink);font-size:.73rem}.site-footer{background:#0c1216;color:rgba(255,255,255,.72)}.site-footer__skyline{padding:34px 0;border-bottom:1px solid rgba(214,166,41,.25);background:linear-gradient(90deg,#0d1317 0%,#10181d 55%,rgba(12,18,22,.55)),url('/images/lagos-waterfront.jpg') right center/55% auto no-repeat}.footer-location{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.footer-location h2{margin-bottom:8px;color:var(--white);font-size:1.8rem}.footer-location p:not(.eyebrow){max-width:480px;font-size:.72rem}.footer-location address{display:flex;flex-direction:column;gap:8px;padding-left:40px;border-left:1px solid rgba(255,255,255,.3);font-size:.72rem}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.8fr) 1.4fr;gap:34px;padding:42px 0}.footer-brand img{width:125px;height:125px;object-fit:contain}.footer-grid h3{margin-bottom:12px;color:var(--white);font-family:var(--serif);font-size:1rem;text-transform:uppercase}.footer-grid>div:not(.footer-brand)>a{display:block;margin:5px 0;font-size:.66rem}.newsletter p{font-size:.7rem}.newsletter form{display:grid;gap:8px}.newsletter input{width:100%;padding:11px;border:1px solid rgba(214,166,41,.45);background:transparent;color:var(--white)}.footer-bottom{padding:18px 0 26px;border-top:1px solid rgba(255,255,255,.1);font-size:.65rem;text-align:center}.not-found{position:relative;display:grid;min-height:68vh;place-items:center;color:var(--white);text-align:center}.not-found>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.not-found>div:last-child{position:relative;z-index:1;max-width:700px;padding:30px}.not-found h1{margin-bottom:15px}.toast-region{position:fixed;right:20px;bottom:20px;z-index:300}.toast{max-width:360px;margin-top:10px;padding:14px 18px;border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--charcoal);color:var(--white);box-shadow:var(--shadow)}
@media(max-width:1100px){.nav-shell__inner{grid-template-columns:100px 1fr auto;gap:18px}.primary-nav{gap:12px}.primary-nav a{font-size:.61rem}.manage-link{display:none}.checkout-layout{grid-template-columns:1fr 330px;gap:35px}.room-detail__layout{grid-template-columns:1fr 310px;gap:30px}.room-card{grid-template-columns:300px 1fr}.amenity-columns{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.utility-strip__inner>*:last-child{display:none}.nav-shell__inner{min-height:82px;grid-template-columns:1fr auto auto}.brand img{width:70px;height:70px}.menu-toggle{display:block}.primary-nav{position:absolute;left:0;right:0;top:116px;display:none;flex-direction:column;align-items:stretch;padding:22px 30px;background:var(--charcoal);box-shadow:var(--shadow)}.primary-nav.is-open{display:flex}.primary-nav a{padding:10px;font-size:.75rem}.home-hero,.home-hero__content{min-height:570px}.availability-form{grid-template-columns:1fr 1fr;padding:16px}.availability-form .field-group{margin:5px 0;padding:7px 14px}.availability-form .field-group:nth-child(2){border-right:0}.availability-form .button{grid-column:1/-1;margin:12px 0 0}.split-feature{gap:35px}.room-grid{grid-template-columns:1fr 1fr}.icon-feature-grid,.reassurance__grid{grid-template-columns:1fr 1fr;gap:26px 0}.icon-feature-grid a:nth-child(2),.reassurance__grid>div:nth-child(2){border:0}.home-gallery__grid{grid-template-columns:repeat(3,1fr)}.home-gallery__grid img:nth-child(n+4){display:none}.results-layout{grid-template-columns:1fr}.filters{position:static;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.filters__title{grid-column:1/-1}.filters fieldset{border:0}.room-card{grid-template-columns:265px 1fr}.room-detail__layout,.checkout-layout,.confirmation-grid,.manage-layout{grid-template-columns:1fr}.stay-selector,.reservation-summary{position:static}.stay-selector{grid-row:1}.reservation-summary{grid-row:1;max-width:600px}.confirmation-grid .reservation-summary{grid-row:auto}.checkout-form{grid-row:2}.confirmation-grid>div{grid-row:2}.contact-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr 1fr}.next-steps>div{grid-template-columns:1fr 1fr;gap:24px 0}.next-steps article:nth-child(2){border:0}.stay-overview{grid-template-columns:280px 1fr}}
@media(max-width:680px){body{font-size:14px}.container{width:min(calc(100% - 28px),var(--container))}.section{padding:60px 0}.utility-strip__inner{gap:16px;justify-content:center}.utility-strip__inner span span,.utility-strip__inner a span{display:none}.nav-actions .button{min-height:38px;padding:9px 12px;font-size:.6rem}.home-hero,.home-hero__content{min-height:560px}.home-hero__shade{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.3))}.home-hero h1{font-size:3.8rem}.home-hero__content{justify-content:end;padding-bottom:105px}.availability-overlap{margin-top:-70px}.availability-form{grid-template-columns:1fr}.availability-form .field-group{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.availability-form .button{grid-column:auto}.split-feature,.editorial-grid{grid-template-columns:1fr}.split-feature>img{height:340px}.room-grid{grid-template-columns:1fr}.room-card{display:block}.room-card__image{display:block;min-height:260px}.room-card__heading{display:block}.room-price{text-align:left}.room-card__actions,.form-actions{flex-direction:column;align-items:stretch}.room-card__actions>*,.room-card__actions form .button{width:100%}.dining-banner,.dining-banner__content{min-height:480px}.dining-banner__content{justify-content:end;padding-bottom:45px}.icon-feature-grid,.reassurance__grid{grid-template-columns:1fr}.icon-feature-grid a,.reassurance__grid>div{padding:20px 10px;border-right:0;border-bottom:1px solid var(--border)}.offer-grid{grid-template-columns:1fr}.offer-card{grid-template-columns:1fr}.offer-card>img{height:230px}.home-gallery__grid{grid-template-columns:1fr 1fr}.home-gallery__grid img{height:180px}.home-gallery__grid img:nth-child(3){display:none}.page-hero,.page-hero--short{min-height:430px}.page-hero h1{font-size:3.5rem}.editorial-grid article{min-height:auto;padding:30px}.editorial-quote{padding:42px 25px}.cta-band .container{align-items:flex-start;flex-direction:column}.filters{display:block}.results-heading{align-items:flex-start;flex-direction:column}.room-gallery{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:300px 150px}.room-gallery button:first-child{grid-column:1/-1;grid-row:auto}.room-gallery button:nth-child(n+4){display:none}.room-title-row{display:block}.amenity-columns,.rate-grid,.policy-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-grid button:nth-child(1),.gallery-grid button:nth-child(5){grid-column:auto}.contact-form,.form-grid{grid-template-columns:1fr;padding:25px}.contact-form .span-2,.form-grid .span-2{grid-column:auto}.booking-progress{overflow-x:auto}.booking-progress ol{min-width:570px}.checkout-section{padding-top:32px}.extra-card{grid-template-columns:115px 1fr;gap:12px}.extra-card>img{height:145px}.extra-card>div{padding-right:0}.extra-card__heading{display:block}.choice-grid,.confirmation-details{grid-template-columns:1fr}.payment-tabs{grid-template-columns:1fr}.payment-tabs label{border-right:0;border-bottom:1px solid var(--border)}.provider-placeholder,.billing-summary{align-items:flex-start;flex-direction:column}.billing-summary>p{text-align:left}.confirmation-header{align-items:flex-start}.confirmation-header>span{width:62px;height:62px;font-size:2.2rem}.reference-panel{padding:24px 12px}.document-actions{align-items:stretch;flex-direction:column}.next-steps>div{grid-template-columns:1fr}.next-steps article{border-right:0;border-bottom:1px solid var(--border)}.manage-feature-grid{grid-template-columns:1fr}.manage-feature-grid article{border-right:0;border-bottom:1px solid var(--border)}.lookup-card{padding:27px 22px}.stay-overview{grid-template-columns:1fr}.stay-overview>img{height:260px;min-height:0}.stay-overview>div{padding:24px}.manage-card-grid,.two-column-details{grid-template-columns:1fr}.service-row{grid-template-columns:1fr auto;gap:5px}.service-row span:last-child{grid-column:1/-1}.footer-location{grid-template-columns:1fr}.footer-location address{padding-left:0;border-left:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand,.newsletter{grid-column:1/-1}}
@media(max-width:420px){.brand img{width:58px;height:58px}.nav-actions .button{padding-inline:8px}.home-hero h1{font-size:3.25rem}.button-row{width:100%}.button-row .button{flex:1;padding-inline:12px}.amenity-columns,.rate-grid,.policy-grid{grid-template-columns:1fr}.extra-card{display:block}.extra-card>img{height:200px}.confirmation-header{display:block}.confirmation-header>span{margin-bottom:18px}.reference-panel strong{font-size:2rem}.form-actions>div{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.site-header,.site-footer,.reassurance,.demo-notice,.button,.booking-progress{display:none!important}body{background:#fff;color:#000}}

.app-preloader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,rgba(200,148,61,.18),transparent 34%),linear-gradient(145deg,#080909,#151210 72%,#080909);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 260ms ease,visibility 0s linear 260ms}
html.app-preloading,html.app-preloading body{overflow:hidden}
html.app-preloading .app-preloader,.app-preloader.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 180ms ease}
.app-preloader__mark{position:relative;display:grid;width:132px;height:132px;place-items:center}
.app-preloader__mark::before,.app-preloader__mark::after{content:"";position:absolute;border-radius:50%}
.app-preloader__mark::before{inset:14px;background:rgba(255,255,255,.08);box-shadow:0 18px 60px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.08)}
.app-preloader__mark::after{inset:-10px;border:1px solid rgba(214,166,41,.18);animation:app-loader-breathe 1.8s ease-in-out infinite}
.app-preloader__ring{position:absolute;inset:0;border:2px solid rgba(255,255,255,.12);border-top-color:var(--gold-bright,#d6a629);border-right-color:rgba(214,166,41,.62);border-radius:50%;animation:app-loader-spin 1.1s linear infinite}
.app-preloader__ring::after{content:"";position:absolute;inset:12px;border:1px solid rgba(214,166,41,.22);border-bottom-color:rgba(255,255,255,.55);border-radius:50%;animation:app-loader-spin 1.7s linear infinite reverse}
.app-preloader__mark img{position:relative;z-index:1;width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));animation:app-loader-logo 1.55s ease-in-out infinite}
.app-preloader__mark--inline{width:118px;height:118px;margin:0 auto 28px}
.app-preloader__mark--inline::before{background:#fffaf2;box-shadow:inset 0 0 0 1px rgba(200,148,61,.18),0 12px 34px rgba(29,22,13,.1)}
.app-preloader__mark--inline::after{border-color:rgba(200,148,61,.18)}
.app-preloader__mark--inline .app-preloader__ring{border-color:#eadfc9;border-top-color:var(--gold);border-right-color:#d8b46d}
.app-preloader__mark--inline .app-preloader__ring::after{border-color:rgba(200,148,61,.24);border-bottom-color:#85601f}
.app-preloader__mark--inline img{width:76px;height:76px;filter:drop-shadow(0 6px 13px rgba(29,22,13,.16))}
@keyframes app-loader-spin{to{transform:rotate(360deg)}}
@keyframes app-loader-logo{0%,100%{transform:scale(.94);opacity:.82}50%{transform:scale(1);opacity:1}}
@keyframes app-loader-breathe{0%,100%{transform:scale(.92);opacity:.45}50%{transform:scale(1.04);opacity:1}}
@media(max-width:680px){.app-preloader__mark{width:112px;height:112px}.app-preloader__mark img{width:74px;height:74px}.app-preloader__mark--inline{width:104px;height:104px}.app-preloader__mark--inline img{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){.app-preloader__ring,.app-preloader__ring::after,.app-preloader__mark::after,.app-preloader__mark img{animation:none!important}.app-preloader,.app-preloader__mark img{transition:none!important}}
@media print{.app-preloader{display:none!important}}

.dining-studio h2,.dining-menu-board h2,.dining-venues h2,.dining-private h2,.wellness-journey h2,.wellness-sanctuary h2,.wellness-menu-section h2,.wellness-detail-band h2,.event-command h2,.event-venues-section h2,.event-support-section h2,.experiences-compass h2,.experience-arrival h2,.curated-days-section h2,.experience-photo-band h2,.about-opening h2,.about-pillars-section h2,.about-service h2,.about-destination-band h2,.about-guest-journey h2{letter-spacing:0}
.dining-studio p:not(.eyebrow),.dining-menu-board p:not(.eyebrow),.dining-venues p:not(.eyebrow),.dining-private p,.wellness-journey p:not(.eyebrow),.wellness-sanctuary p:not(.eyebrow),.wellness-menu p,.wellness-detail-band h2,.event-command p:not(.eyebrow),.event-venue-deck p:not(.eyebrow),.event-support-section p:not(.eyebrow),.event-quote-band p,.experiences-compass p:not(.eyebrow),.experience-arrival p:not(.eyebrow),.curated-days p,.experience-photo-band h2,.about-opening p:not(.eyebrow),.about-pillars p,.about-service p:not(.eyebrow),.about-destination-band p,.about-guest-journey p:not(.eyebrow){color:var(--muted)}

.dining-studio__grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:start;gap:76px}.dining-studio__copy{max-width:560px;padding-top:22px}.dining-studio__copy h2{font-size:3.5rem}.dining-studio__copy p:not(.eyebrow){font-size:1.02rem}.dining-service-stack{display:grid;gap:16px}.dining-service-stack article{display:grid;grid-template-columns:56px 1fr;gap:24px;min-height:168px;padding:28px 30px;border:1px solid var(--border);border-left:3px solid var(--gold);background:var(--white);box-shadow:0 10px 28px rgba(29,22,13,.05)}.dining-service-stack article:nth-child(2){margin-left:54px}.dining-service-stack article:nth-child(3){margin-left:108px}.dining-service-stack span,.dining-signature>span,.menu-rhythm span,.wellness-path span,.event-flow span,.experiences-compass>article>span,.curated-days span,.about-pillars span,.about-journey-steps span{color:#9c6e27;font-size:.68rem;font-weight:700;text-transform:uppercase}.dining-service-stack h3,.menu-rhythm h3,.dining-venues h2,.wellness-path h3,.wellness-menu h3,.event-flow h3,.event-support-grid h3,.experiences-compass h3,.curated-days h3,.about-pillars h3,.about-service-list h3,.about-journey-steps h3{letter-spacing:0}.dining-service-stack h3{margin-bottom:8px;font-size:1.65rem}.dining-service-stack p{margin:0;color:var(--muted);font-size:.82rem}.dining-menu-board{display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden;border:1px solid var(--border);background:var(--white)}.dining-menu-board__image{position:relative;min-height:620px}.dining-menu-board__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dining-menu-board__image>div{position:absolute;left:28px;right:28px;bottom:28px;padding:30px;background:rgba(15,15,16,.9);color:var(--white)}.dining-menu-board__image p{margin-bottom:10px;color:var(--white);font-family:var(--serif);font-size:2rem;line-height:1.16}.dining-menu-board__image span{color:#d9bd87;font-size:.68rem;font-weight:700;text-transform:uppercase}.dining-menu-board__content{display:flex;flex-direction:column;justify-content:center;padding:58px}.dining-menu-board__content h2{max-width:560px;margin-bottom:0}.menu-rhythm{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border-top:1px solid var(--border);border-left:1px solid var(--border)}.menu-rhythm article{min-height:190px;padding:24px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fffdfa}.menu-rhythm h3{margin:8px 0;font-size:1.35rem}.menu-rhythm p{margin:0;font-size:.78rem}.dining-venues{display:grid;gap:26px}.dining-venues article{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;border:1px solid var(--border);background:var(--white)}.dining-venues article:nth-child(2){width:min(100%,980px);margin-left:auto}.dining-venues img{width:100%;height:410px;object-fit:cover}.dining-venues article>div{display:flex;flex-direction:column;justify-content:center;padding:42px}.dining-venues h2{font-size:2.85rem}.dining-private__inner{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:70px;padding:42px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.dining-private__inner h2{margin:0;font-size:3.15rem}.dining-private__notes p{font-size:1rem}.dining-private__notes a,.event-command__panel a,.event-venue-deck a,.about-experience__grid a{color:#875e23;font-size:.72rem;font-weight:700;text-transform:uppercase}

.wellness-journey__grid{display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:70px}.wellness-journey__intro{position:sticky;top:28px}.wellness-journey__intro h2{font-size:3.4rem}.wellness-path{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);background:var(--white)}.wellness-path article{min-height:330px;padding:32px 24px;border-right:1px solid var(--border)}.wellness-path article:last-child{border-right:0}.wellness-path article:nth-child(even){background:var(--warm-white);transform:translateY(34px)}.wellness-path h3{margin:62px 0 12px;font-size:2rem}.wellness-path p{margin:0;font-size:.78rem}.wellness-sanctuary__layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px}.wellness-sanctuary__media{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wellness-sanctuary__media img{width:100%;height:500px;object-fit:cover}.wellness-sanctuary__media img:last-child{height:390px;margin-top:76px}.wellness-sanctuary__copy blockquote{margin:34px 0 0;padding:28px 0 0;border-top:1px solid var(--border)}.wellness-sanctuary__copy blockquote p{margin-bottom:9px;color:var(--ink);font-family:var(--serif);font-size:2rem;line-height:1.15}.wellness-sanctuary__copy cite{color:#9c6e27;font-size:.68rem;font-style:normal;font-weight:700;text-transform:uppercase}.wellness-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.wellness-menu article{min-height:250px;padding:28px;border:1px solid var(--border);background:var(--white)}.wellness-menu article:nth-child(2),.wellness-menu article:nth-child(4){background:var(--charcoal);color:var(--white)}.wellness-menu article:nth-child(2) p,.wellness-menu article:nth-child(4) p{color:rgba(255,255,255,.7)}.wellness-menu span{color:#9c6e27;font-size:.66rem;font-weight:700;text-transform:uppercase}.wellness-menu article:nth-child(2) span,.wellness-menu article:nth-child(4) span{color:#d9bd87}.wellness-menu h3{margin:42px 0 12px;font-size:1.65rem}.wellness-detail-band__inner{max-width:900px;margin-inline:auto;text-align:center}.wellness-detail-band__inner h2{margin:0;color:var(--ink);font-size:3rem}

.event-command{background:var(--paper)}.event-command__layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:54px}.event-command__panel{min-height:440px;padding:52px;background:var(--charcoal);color:var(--white);box-shadow:var(--shadow-soft)}.event-command__panel h2{color:var(--white);font-size:3.15rem}.event-command__panel p:not(.eyebrow){color:rgba(255,255,255,.72)}.event-command__panel a{display:inline-block;margin-top:18px;color:#d9bd87}.event-flow{display:grid;gap:14px}.event-flow article{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:28px 30px;border:1px solid var(--border);background:var(--white)}.event-flow article:nth-child(2){margin-left:64px}.event-flow h3{margin:0 0 8px;font-size:1.65rem}.event-flow p{margin:0;font-size:.78rem}.event-venue-deck{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.event-venue-deck article{overflow:hidden;border:1px solid var(--border);background:var(--white);box-shadow:0 10px 30px rgba(29,22,13,.05)}.event-venue-deck article:nth-child(2){margin-top:58px}.event-venue-deck img{width:100%;height:360px;object-fit:cover}.event-venue-deck article>div{padding:34px}.event-venue-deck h2{margin-bottom:12px;font-size:2.65rem}.event-support-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:start}.event-support-layout>div:first-child p:not(.eyebrow){max-width:460px}.event-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event-support-grid article{min-height:180px;padding:26px;border:1px solid var(--border);background:var(--warm-white)}.event-support-grid h3{margin-bottom:9px;font-family:var(--sans);font-size:.76rem;font-weight:700;text-transform:uppercase}.event-support-grid p{font-size:.76rem}.event-quote-band{padding:76px 0;background:var(--charcoal);color:var(--white);text-align:center}.event-quote-band p{max-width:900px;margin:0 auto 12px;color:var(--white);font-family:var(--serif);font-size:2.95rem;line-height:1.16}.event-quote-band span{color:#d9bd87;font-size:.7rem;font-weight:700;text-transform:uppercase}

.experiences-compass-section{background:var(--paper)}.experiences-compass{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.experiences-compass article{min-height:235px;padding:28px;border:1px solid var(--border);background:var(--white)}.experiences-compass__center{grid-column:span 2;grid-row:span 2;display:flex;min-height:484px!important;flex-direction:column;justify-content:center;background:var(--charcoal)!important;color:var(--white)}.experiences-compass__center h2{color:var(--white);font-size:3.35rem}.experiences-compass__center p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.72)}.experiences-compass>article:not(.experiences-compass__center):nth-child(3),.experiences-compass>article:not(.experiences-compass__center):nth-child(5){background:var(--warm-white)}.experiences-compass h3{margin:42px 0 10px;font-size:1.55rem}.experience-arrival__layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:68px}.experience-arrival__layout img{width:100%;height:500px;object-fit:cover}.arrival-notes{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.arrival-notes span{padding:10px 14px;border:1px solid #d9bd87;background:#fffaf2;color:#7b541d;font-size:.68rem;font-weight:700;text-transform:uppercase}.curated-days{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.curated-days article{min-height:240px;padding:28px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--white)}.curated-days article:nth-child(even){background:var(--warm-white)}.curated-days h3{margin:42px 0 10px;font-size:1.55rem}.curated-days p{font-size:.76rem}.experience-photo-band{position:relative;min-height:500px;overflow:hidden;color:var(--white)}.experience-photo-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42) 58%,rgba(0,0,0,.12))}.experience-photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.experience-photo-band__content{position:relative;z-index:1;display:flex;min-height:500px;flex-direction:column;justify-content:center}.experience-photo-band h2{max-width:850px;color:var(--white);font-size:3.65rem}

.about-opening__grid{display:grid;grid-template-columns:1fr 370px;align-items:center;gap:80px}.about-opening__grid>div:first-child{max-width:710px}.about-signature{padding:42px 34px;border:1px solid #d9bd87;background:linear-gradient(145deg,#111214,#1a1714);color:var(--white);text-align:center;box-shadow:var(--shadow-soft)}.about-signature img{width:142px;height:142px;margin:0 auto 22px;object-fit:contain}.about-signature p{margin-bottom:4px;color:var(--white);font-family:var(--serif);font-size:2.1rem;line-height:1.05}.about-signature span{color:#d9bd87;font-size:.72rem}.about-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.about-pillars article{min-height:260px;padding:28px;border:1px solid var(--border);background:var(--white)}.about-pillars article:nth-child(2),.about-pillars article:nth-child(4){background:var(--charcoal);color:var(--white)}.about-pillars article:nth-child(2) p,.about-pillars article:nth-child(4) p{color:rgba(255,255,255,.7)}.about-pillars h3{margin:48px 0 10px;font-size:1.6rem}.about-service__layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:68px}.about-service__layout>img{width:100%;height:510px;object-fit:cover}.about-service-list{display:grid;gap:12px;margin-top:28px}.about-service-list article{padding:22px 0;border-top:1px solid var(--border)}.about-service-list h3{margin-bottom:6px;font-family:var(--sans);font-size:.76rem;font-weight:700;text-transform:uppercase}.about-service-list p{margin:0;font-size:.78rem}.about-destination-band{padding:82px 0;background:linear-gradient(90deg,#0c1216 0%,#10181d 55%,rgba(12,18,22,.58)),url('/images/lagos-waterfront.jpg') right center/56% auto no-repeat;color:var(--white)}.about-destination-band__grid{display:grid;grid-template-columns:1fr .75fr;align-items:center;gap:70px}.about-destination-band h2{margin:0;color:var(--white);font-size:3.35rem}.about-destination-band p{color:rgba(255,255,255,.72)}.about-destination-band .button{margin-top:16px}.about-guest-journey__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.about-guest-journey__layout>div:first-child{position:sticky;top:28px}.about-journey-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-journey-steps article{min-height:210px;padding:28px;border:1px solid var(--border);background:var(--warm-white)}.about-journey-steps h3{margin:42px 0 10px;font-size:1.55rem}

@media(max-width:1100px){.dining-studio__grid,.wellness-journey__grid,.wellness-sanctuary__layout,.event-command__layout,.event-support-layout,.experience-arrival__layout,.about-service__layout,.about-guest-journey__layout{gap:42px}.dining-service-stack article:nth-child(2),.dining-service-stack article:nth-child(3),.event-flow article:nth-child(2){margin-left:0}.wellness-path,.wellness-menu,.about-pillars,.curated-days{grid-template-columns:1fr 1fr}.wellness-path article:nth-child(even){transform:none}.experiences-compass{grid-template-columns:1fr 1fr}.about-opening__grid{grid-template-columns:1fr 320px;gap:44px}}
@media(max-width:900px){.dining-studio__grid,.dining-menu-board,.wellness-journey__grid,.wellness-sanctuary__layout,.event-command__layout,.event-support-layout,.experience-arrival__layout,.about-opening__grid,.about-service__layout,.about-destination-band__grid,.about-guest-journey__layout{grid-template-columns:1fr}.dining-menu-board__image{min-height:470px}.dining-menu-board__content{padding:40px}.dining-venues article,.dining-venues article:nth-child(2){grid-template-columns:1fr;width:100%;margin-left:0}.dining-venues article:nth-child(2)>div{order:2}.dining-venues article:nth-child(2)>img{order:1}.dining-private__inner{grid-template-columns:1fr;gap:24px}.wellness-sanctuary__media img{height:380px}.wellness-sanctuary__media img:last-child{height:320px;margin-top:38px}.event-venue-deck{grid-template-columns:1fr}.event-venue-deck article:nth-child(2){margin-top:0}.experiences-compass__center{min-height:360px!important}.experience-photo-band,.experience-photo-band__content{min-height:430px}.about-guest-journey__layout>div:first-child,.wellness-journey__intro{position:static}.about-destination-band{background:linear-gradient(90deg,#0c1216,#10181d)}}
@media(max-width:680px){.dining-studio__copy{padding-top:0}.dining-service-stack article,.event-flow article{grid-template-columns:1fr;gap:12px;padding:24px}.dining-menu-board__image{min-height:390px}.dining-menu-board__image>div{left:16px;right:16px;bottom:16px;padding:22px}.dining-menu-board__image p{font-size:1.55rem}.dining-menu-board__content{padding:28px}.menu-rhythm,.wellness-path,.wellness-menu,.event-support-grid,.experiences-compass,.curated-days,.about-pillars,.about-journey-steps{grid-template-columns:1fr}.dining-venues img,.experience-arrival__layout img,.about-service__layout>img{height:330px}.dining-venues article>div{padding:28px}.wellness-sanctuary__media{grid-template-columns:1fr}.wellness-sanctuary__media img,.wellness-sanctuary__media img:last-child{height:320px;margin-top:0}.event-command__panel{min-height:auto;padding:34px}.event-venue-deck img{height:290px}.event-venue-deck article>div{padding:26px}.experiences-compass__center{grid-column:auto;grid-row:auto;min-height:auto!important}.curated-days{border-left:0}.curated-days article{border-left:1px solid var(--border)}.experience-photo-band h2{font-size:2.45rem}.about-signature{padding:32px 24px}.about-opening__grid,.about-service__layout,.about-guest-journey__layout{gap:30px}.about-destination-band{padding:58px 0}.about-pillars article,.about-journey-steps article{min-height:auto}}
/* Page body polish start */
.dining-studio h2,.dining-menu-board h2,.dining-venues h2,.dining-private h2,.wellness-journey h2,.wellness-sanctuary h2,.wellness-menu-section h2,.wellness-detail-band h2,.event-command h2,.event-venues-section h2,.event-support-section h2,.event-quote-band h2,.experiences-compass h2,.experience-arrival h2,.curated-days-section h2,.experience-photo-band h2,.about-opening h2,.about-pillars-section h2,.about-service h2,.about-destination-band h2,.about-guest-journey h2{letter-spacing:0;font-size:3rem}
.dining-studio__copy h2,.wellness-journey__intro h2,.experiences-compass__center h2,.about-destination-band h2{font-size:3.55rem}.dining-venues h2,.dining-private__inner h2,.event-command__panel h2,.event-venue-deck h2,.wellness-detail-band__inner h2,.experience-photo-band h2{font-size:3rem}.event-quote-band p{font-size:3rem}
.dining-private .eyebrow{color:#9c6e27}.about-destination-band .eyebrow{color:#e3bf7d}.about-destination-band p:not(.eyebrow){color:rgba(255,255,255,.72)}
@media(max-width:900px){.dining-studio h2,.dining-menu-board h2,.dining-venues h2,.dining-private h2,.wellness-journey h2,.wellness-sanctuary h2,.wellness-menu-section h2,.wellness-detail-band h2,.event-command h2,.event-venues-section h2,.event-support-section h2,.event-quote-band h2,.experiences-compass h2,.experience-arrival h2,.curated-days-section h2,.experience-photo-band h2,.about-opening h2,.about-pillars-section h2,.about-service h2,.about-destination-band h2,.about-guest-journey h2,.event-quote-band p{font-size:2.55rem}}
@media(max-width:420px){.dining-studio h2,.dining-menu-board h2,.dining-venues h2,.dining-private h2,.wellness-journey h2,.wellness-sanctuary h2,.wellness-menu-section h2,.wellness-detail-band h2,.event-command h2,.event-venues-section h2,.event-support-section h2,.event-quote-band h2,.experiences-compass h2,.experience-arrival h2,.curated-days-section h2,.experience-photo-band h2,.about-opening h2,.about-pillars-section h2,.about-service h2,.about-destination-band h2,.about-guest-journey h2,.event-quote-band p{font-size:2.15rem}}
/* Page body polish end */

.dining-service-stack article{grid-template-columns:64px minmax(0,1fr);align-items:start;row-gap:6px}.dining-service-stack span{grid-column:1;grid-row:1/span 2;padding-top:5px}.dining-service-stack h3{grid-column:2;margin:0 0 4px;line-height:1.18}.dining-service-stack p{grid-column:2;max-width:560px;line-height:1.65}
@media(max-width:680px){.dining-service-stack article{grid-template-columns:1fr}.dining-service-stack span,.dining-service-stack h3,.dining-service-stack p{grid-column:auto;grid-row:auto;padding-top:0}}

.auth-body {
    --auth-ink: #1b1d22;
    --auth-muted: #72747a;
    --auth-input: #e8f0ff;
    --auth-accent: #5667a8;
    --auth-accent-dark: #171b2b;
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 9% 0%, rgba(248,220,72,.34), transparent 31%),
        radial-gradient(circle at 91% 88%, rgba(86,103,168,.16), transparent 30%),
        linear-gradient(112deg, #fff8df 0%, #ffffff 44%, #eef3ff 100%);
    color: var(--auth-ink);
    font-family: var(--sans);
}
.auth-body main {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 16px 20px;
}
.auth-body h1,
.auth-body h2,
.auth-body p { margin-top: 0; }
.auth-body h1,
.auth-body h2 {
    font-family: var(--sans);
    letter-spacing: 0;
}
.auth-shell {
    display: grid;
    width: min(100%, 1120px);
    height: min(620px, calc(100vh - 32px));
    height: min(620px, calc(100svh - 32px));
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .95fr);
    overflow: hidden;
    border: 1px solid rgba(31,34,43,.06);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 34px 90px rgba(42,49,78,.16);
}
.auth-visual {
    position: relative;
    height: 100%;
    overflow: hidden;
    background: #111216;
    color: #fff;
    isolation: isolate;
}
.auth-visual::before {
    content: "";
    position: absolute;
    right: -130px;
    bottom: -92px;
    z-index: 0;
    width: 460px;
    height: 310px;
    border-radius: 58px;
    background: rgba(248,220,72,.15);
    transform: rotate(-8deg);
}
.auth-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 72% 67%, rgba(248,220,72,.11), transparent 28%),
        linear-gradient(115deg, rgba(255,255,255,.025), transparent 38%);
    pointer-events: none;
}
.auth-body--admin .auth-visual::before { background: rgba(86,103,168,.18); }
.auth-body--admin .auth-shell { grid-template-columns: minmax(360px, .95fr) minmax(0, 1.35fr); }
.auth-body--admin .auth-card-shell { order: 1; }
.auth-body--admin .auth-visual { order: 2; }
.auth-body--admin .auth-visual::before { right: auto; left: -130px; }
.auth-body--admin .auth-visual__watermark { right: auto; left: -96px; }
.auth-visual__surface {
    position: relative;
    z-index: 1;
    display: grid;
    height: 100%;
    grid-template-rows: auto 1fr auto;
    padding: clamp(30px, 3.6vw, 40px);
}
.auth-visual__surface > *:not(.auth-visual__watermark) {
    position: relative;
    z-index: 2;
}
.auth-visual__watermark {
    position: absolute;
    right: -96px;
    bottom: -165px;
    z-index: 1;
    width: min(500px, 70%);
    max-width: none;
    opacity: .16;
    filter: saturate(.8) contrast(1.05);
    pointer-events: none;
    transform: rotate(-8deg);
}
.auth-brand {
    display: inline-grid;
    width: fit-content;
    max-width: 100%;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    color: inherit;
    text-decoration: none;
}
.auth-brand__mark {
    display: grid;
    width: 74px;
    height: 74px;
    place-items: center;
    overflow: visible;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 44px rgba(0,0,0,.18);
}
.auth-brand__mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.auth-brand__copy {
    display: grid;
    min-width: 0;
    gap: 1px;
}
.auth-brand__copy strong,
.auth-brand__copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.auth-brand__copy strong {
    color: #1b1d22;
    font-size: 1.02rem;
    font-weight: 850;
    line-height: 1.15;
}
.auth-brand__copy span {
    color: #62646a;
    font-size: .75rem;
    font-weight: 650;
}
.auth-brand--light .auth-brand__copy strong { color: #fff; }
.auth-brand--light .auth-brand__copy span { color: rgba(255,255,255,.68); }
.auth-brand--form {
    grid-template-columns: 66px minmax(0, 1fr);
    margin-bottom: 20px;
}
.auth-brand--form .auth-brand__mark {
    width: 66px;
    height: 66px;
    padding: 5px;
    border-color: rgba(31,34,43,.08);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 30px rgba(31,34,43,.08);
}
.auth-brand--form .auth-brand__mark img {
    width: 100%;
    height: 100%;
}
.auth-visual__copy {
    align-self: center;
    max-width: 610px;
    padding: 22px 0 42px;
}
.auth-visual__copy h1 {
    max-width: 585px;
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(2.2rem, 3vw, 3.05rem);
    font-weight: 850;
    line-height: 1.09;
}
.auth-visual__copy p {
    max-width: 530px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.6;
}
.auth-visual__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.auth-visual__meta span {
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 22px;
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.78);
    font-size: .68rem;
    font-weight: 750;
}
.auth-card-shell {
    display: grid;
    min-width: 0;
    place-items: center;
    padding: clamp(30px, 4vw, 42px);
    background: #fff;
}
.auth-card {
    width: min(100%, 360px);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.auth-form {
    display: grid;
    gap: 12px;
}
.auth-card__header {
    margin-bottom: 12px;
}
.auth-card__header h2 {
    margin: 0 0 6px;
    color: var(--auth-ink);
    font-size: clamp(1.7rem, 2.4vw, 1.95rem);
    font-weight: 850;
    line-height: 1.13;
}
.auth-card__header p {
    margin: 0;
    color: var(--auth-muted);
    font-size: .84rem;
    line-height: 1.55;
}
.auth-input {
    display: grid;
    min-height: 54px;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
    border: 1px solid #dfe4ee;
    border-radius: 14px;
    background: var(--auth-input);
    color: #1c2030;
    transition: border-color var(--ease), box-shadow var(--ease), background var(--ease);
}
.auth-input:focus-within {
    border-color: var(--auth-accent);
    background: #edf4ff;
    box-shadow: 0 0 0 4px rgba(86,103,168,.18);
}
.auth-input__icon {
    display: grid;
    width: 50px;
    height: 100%;
    place-items: center;
    border-right: 2px solid rgba(86,103,168,.5);
    color: #343847;
}
.auth-input input {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 52px;
    padding: 0 14px;
    border: 0;
    background: transparent;
    color: var(--auth-ink);
    font-size: .86rem;
    font-weight: 600;
    outline: 0;
}
.auth-input input::placeholder { color: #1f2230; opacity: .95; }
.auth-input input:-webkit-autofill { box-shadow: 0 0 0 1000px var(--auth-input) inset; }
.auth-check {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 4px;
    color: #4d4f56;
    font-size: .76rem;
}
.auth-check input {
    display: grid;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin: 0;
    appearance: none;
    border: 1px solid #15171c;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}
.auth-check input:checked {
    border-color: var(--auth-accent);
    background: radial-gradient(circle, var(--auth-accent) 0 42%, #fff 45% 100%);
}
.auth-submit {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: flex-start;
    padding: 0 20px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(100deg, var(--auth-accent-dark), var(--auth-accent));
    color: #fff;
    font-size: .84rem;
    font-weight: 850;
    box-shadow: 0 18px 34px rgba(54,65,112,.22);
    transition: transform var(--ease), box-shadow var(--ease), filter var(--ease);
}
.auth-submit:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
    box-shadow: 0 22px 38px rgba(54,65,112,.25);
}
.auth-submit:focus-visible,
.auth-check input:focus-visible,
.auth-brand:focus-visible,
.auth-switch a:focus-visible {
    outline: 3px solid rgba(86,103,168,.34);
    outline-offset: 3px;
}
.auth-error {
    padding: 13px 14px;
    border: 1px solid #e5ada5;
    border-left: 3px solid var(--error);
    border-radius: 8px;
    background: var(--error-soft);
    color: #862e25;
    font-size: .72rem;
}
.auth-switch {
    margin: -4px 0 8px;
    color: var(--auth-muted);
    font-size: .72rem;
    font-weight: 750;
    text-align: right;
}
.auth-switch a {
    color: var(--auth-accent);
    text-decoration: none;
}
.auth-switch a:hover { text-decoration: underline; text-underline-offset: 3px; }
.auth-card__footer {
    margin: 10px 0 0;
    color: #7d7f85;
    font-size: .72rem;
    text-align: center;
}
@media(min-width: 1001px) {
    .auth-body { overflow: hidden; }
}
@media(max-width: 1000px) {
    .auth-body main { padding: 18px; }
    .auth-shell {
        width: min(100%, 760px);
        height: auto;
        min-height: auto;
        grid-template-columns: 1fr;
    }
    .auth-body--admin .auth-card-shell,
    .auth-body--admin .auth-visual { order: initial; }
    .auth-visual { height: auto; min-height: 310px; }
    .auth-visual__surface { height: auto; min-height: 310px; }
    .auth-visual__copy { padding: 22px 0 30px; }
    .auth-card-shell { padding: 30px 24px 34px; }
}
@media(max-width: 640px) {
    .auth-body main {
        align-items: stretch;
        padding: 0;
    }
    .auth-shell {
        width: 100%;
        min-height: 100vh;
        border: 0;
        border-radius: 0;
    }
    .auth-visual,
    .auth-visual__surface { min-height: 325px; }
    .auth-visual__surface { padding: 27px 22px; }
    .auth-brand { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; }
    .auth-brand__mark,
    .auth-brand--form .auth-brand__mark {
        width: 68px;
        height: 68px;
        padding: 4px;
        border-radius: 18px;
    }
    .auth-brand__mark img,
    .auth-brand--form .auth-brand__mark img {
        width: 100%;
        height: 100%;
    }
    .auth-brand__copy strong { font-size: .94rem; }
    .auth-brand__copy span { font-size: .68rem; }
    .auth-brand--form { margin-bottom: 27px; }
    .auth-visual__copy {
        padding: 24px 0 22px;
    }
    .auth-visual__copy h1 {
        margin-bottom: 13px;
        font-size: 2.28rem;
        line-height: 1.08;
    }
    .auth-visual__copy p {
        font-size: .88rem;
        line-height: 1.6;
    }
    .auth-visual__meta { gap: 8px; }
    .auth-visual__meta span {
        min-height: 34px;
        padding: 7px 10px;
        font-size: .66rem;
    }
    .auth-card-shell { padding: 32px 22px 36px; }
    .auth-card__header h2 { font-size: 2rem; }
    .auth-input {
        min-height: 58px;
        grid-template-columns: 52px minmax(0, 1fr);
        border-radius: 14px;
    }
    .auth-input__icon { width: 52px; }
    .auth-input input { min-height: 56px; padding-inline: 14px; }
    .auth-submit {
        min-height: 58px;
        border-radius: 15px;
    }
}
@media(max-width: 440px) {
    .auth-visual__meta { display: none; }
    .auth-visual,
    .auth-visual__surface { min-height: 290px; }
    .auth-visual__watermark {
        right: -90px;
        bottom: -145px;
        width: 430px;
    }
}

.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.social-links .social-link{display:grid!important;width:32px;height:32px;margin:0!important;padding:0!important;place-items:center;border:1px solid transparent;border-radius:50%;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.14);transition:box-shadow 180ms ease,transform 180ms ease}.social-link svg{display:block;width:14px;height:14px;fill:currentColor}.social-link:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.2)}.social-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.social-link--facebook{background:#1877f2}.social-link--instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0 5%,#fdf497 5% 9%,#fd5949 40%,#d6249f 62%,#285aeb 90%)}.social-link--instagram svg{fill:none}.social-link--instagram .instagram-dot{fill:currentColor}.social-link--tiktok{background:#010101}.social-link--tiktok svg{overflow:visible}.social-link--tiktok .tiktok-mark--cyan{fill:#25f4ee}.social-link--tiktok .tiktok-mark--red{fill:#fe2c55}.social-link--tiktok .tiktok-mark--front{fill:#fff}.social-links--footer{margin-top:14px}.social-links--contact{flex-shrink:0;margin-top:0}.contact-cards .contact-social-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px}.contact-social-card h2{margin:0;font-size:1.55rem}

.admin-body {
    --admin-bg: #fbfaf8;
    --admin-panel: #fff;
    --admin-sidebar: #101518;
    --admin-sidebar-2: #151b1e;
    --admin-ink: #151719;
    --admin-muted: #6f706e;
    --admin-line: #eadcc7;
    --admin-line-soft: #eee9e1;
    --admin-gold: #c47a05;
    --admin-gold-bright: #df940c;
    --admin-gold-soft: #fff8ed;
    --admin-green: #39962d;
    --admin-blue: #4284c4;
    --admin-red: #d52d26;
    --admin-orange: #f47b20;
    --admin-purple: #7352a4;
    --admin-teal: #349f97;
    min-width: 320px;
    overflow-x: hidden;
    margin: 0;
    background: var(--admin-bg);
    color: var(--admin-ink);
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
}
.admin-body *, .admin-body *::before, .admin-body *::after { box-sizing: border-box; }
.admin-body h1, .admin-body h2, .admin-body h3, .admin-body p { margin-top: 0; }
.admin-body h1, .admin-body h2, .admin-body h3 { color: var(--admin-ink); }
.admin-body h1 { margin-bottom: 4px; font-size: clamp(1.8rem, 2.4vw, 2.45rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
.admin-body h2 { margin-bottom: 0; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: 1rem; font-weight: 600; letter-spacing: .005em; line-height: 1.15; text-transform: uppercase; }
.admin-body a { color: inherit; text-decoration: none; }
.admin-body button, .admin-body input, .admin-body select { font: inherit; }
.admin-body button, .admin-body select { cursor: pointer; }
.admin-body button:focus-visible, .admin-body input:focus-visible, .admin-body select:focus-visible, .admin-body a:focus-visible { outline: 3px solid #e8a93b; outline-offset: 2px; }
.admin-body [hidden] { display: none !important; }
.admin-icon { display: block; flex: 0 0 auto; }
.admin-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.admin-skip-link { position: fixed; left: 12px; top: 12px; z-index: 500; transform: translateY(-160%); padding: 9px 14px; border-radius: 5px; background: #fff; color: #111; box-shadow: 0 5px 20px rgba(0,0,0,.2); }
.admin-skip-link:focus { transform: none; }

.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 80; display: flex; width: 220px; flex-direction: column; overflow: hidden; background: linear-gradient(145deg, #121719, #0d1214); color: #fff; transition: width 180ms ease, transform 180ms ease; }
.admin-brand { display: grid; height: 202px; flex: 0 0 202px; place-items: center; padding: 7px 22px 2px; }
.admin-brand img { width: 166px; height: 180px; object-fit: contain; }
.admin-nav { flex: 1; overflow-y: auto; padding: 0 8px 12px; scrollbar-width: thin; scrollbar-color: #384044 transparent; }
.admin-nav a { display: flex; min-height: 39px; align-items: center; gap: 13px; margin: 1px 0; padding: 8px 17px; border-radius: 6px; color: rgba(255,255,255,.86); font-size: .78rem; font-weight: 500; white-space: nowrap; transition: color 140ms ease, background 140ms ease; }
.admin-nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-nav a.is-active { background: linear-gradient(100deg, #d18a08, #b86d00); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,205,100,.25), 0 4px 13px rgba(0,0,0,.25); }
.admin-nav a .admin-icon { width: 19px; }
.admin-collapse { display: flex; min-height: 50px; flex: 0 0 50px; align-items: center; gap: 12px; padding: 0 27px; border: 0; border-top: 1px solid rgba(255,255,255,.06); background: transparent; color: rgba(255,255,255,.54); font-size: .65rem; text-transform: uppercase; }
.admin-collapse:hover { color: #fff; }
.admin-workspace { min-width: 0; margin-left: 220px; transition: margin-left 180ms ease; }
.admin-shell.is-collapsed .admin-sidebar { width: 68px; }
.admin-shell.is-collapsed .admin-brand { height: 84px; flex-basis: 84px; padding: 9px; }
.admin-shell.is-collapsed .admin-brand img { width: 56px; height: 64px; object-fit: cover; object-position: top; }
.admin-shell.is-collapsed .admin-nav a { justify-content: center; padding-inline: 10px; }
.admin-shell.is-collapsed .admin-nav a span, .admin-shell.is-collapsed .admin-collapse span { display: none; }
.admin-shell.is-collapsed .admin-collapse { justify-content: center; padding: 0; }
.admin-shell.is-collapsed .admin-collapse .admin-icon { transform: rotate(180deg); }
.admin-shell.is-collapsed .admin-workspace { margin-left: 68px; }
.admin-overlay { display: none; }

.admin-topbar { position: sticky; top: 0; z-index: 50; display: grid; min-height: 64px; grid-template-columns: minmax(225px, auto) minmax(260px, 1fr) auto auto auto auto; align-items: center; gap: 16px; padding: 9px 28px 9px 20px; border-bottom: 1px solid #ebddc6; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.admin-menu-button { display: none; width: 40px; height: 40px; place-items: center; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; color: var(--admin-ink); }
.admin-property-picker { display: grid; min-height: 40px; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid #d6ad70; border-radius: 5px; background: #fffdfa; color: #2a2a29; text-align: left; }
.admin-property-picker .admin-icon:first-child { color: var(--admin-gold); }
.admin-property-picker strong { overflow: hidden; font-size: .69rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.admin-global-search { position: relative; display: flex; width: min(470px, 100%); min-height: 40px; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid #e1ddd7; border-radius: 5px; background: #fff; color: #676b6c; }
.admin-global-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--admin-ink); font-size: .66rem; }
.admin-global-search kbd { padding: 3px 7px; border: 1px solid #e4e4e2; border-radius: 4px; background: #f7f7f6; color: #9b9c99; font-family: inherit; font-size: .53rem; }
.admin-global-search__results { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 120; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 7px; background: #fff; box-shadow: 0 18px 44px rgba(20,22,22,.16); }
.admin-global-search__result { display: grid; width: 100%; gap: 3px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--admin-line-soft); background: #fff; color: var(--admin-ink); text-align: left; }
.admin-global-search__result:last-child { border-bottom: 0; }
.admin-global-search__result:hover, .admin-global-search__result:focus-visible { background: #fff8ed; }
.admin-global-search__result span { color: var(--admin-gold); font-family: "Barlow Condensed", Arial, sans-serif; font-size: .54rem; font-weight: 600; text-transform: uppercase; }
.admin-global-search__result strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-global-search__result small, .admin-global-search__empty { color: #777976; font-size: .55rem; }
.admin-global-search__empty { padding: 13px 12px; }
.admin-topbar__date { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.admin-topbar__date strong { font-size: .68rem; font-weight: 650; }
.admin-icon-button { position: relative; display: grid; width: 38px; height: 38px; place-items: center; border: 0; background: transparent; color: #181b1d; text-decoration: none; }
.admin-notification b { position: absolute; right: 1px; top: 0; display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 20px; background: var(--admin-gold); color: #fff; font-size: .5rem; }
.admin-account-menu { position: relative; }
.admin-account-menu summary { list-style: none; }
.admin-account-menu summary::-webkit-details-marker { display: none; }
.admin-profile { display: grid; min-width: 210px; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.admin-profile__avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #e2a72a, #b76b00); color: #fff; }
.admin-profile > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.admin-profile strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-profile small { color: #777976; font-size: .6rem; }
.admin-account-menu[open] .admin-profile > .admin-icon { transform: rotate(180deg); }
.admin-account-menu__panel { position: absolute; right: 0; top: calc(100% + 12px); z-index: 90; display: grid; width: min(286px, calc(100vw - 28px)); gap: 10px; padding: 12px; border: 1px solid var(--admin-line); border-radius: 7px; background: #fff; box-shadow: 0 18px 44px rgba(20,22,22,.18); }
.admin-account-menu__panel::before { content: ""; position: absolute; right: 18px; top: -7px; width: 13px; height: 13px; border-left: 1px solid var(--admin-line); border-top: 1px solid var(--admin-line); background: #fff; transform: rotate(45deg); }
.admin-account-menu__identity { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; min-width: 0; padding: 5px 4px 10px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-account-menu__identity > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.admin-account-menu__identity strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-account-menu__identity small { color: #777976; font-size: .6rem; }
.admin-menu-action { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid #eee3d3; border-radius: 5px; background: #fffdfa; color: #6a5c49; font-size: .62rem; font-weight: 750; text-align: left; text-transform: uppercase; }
.admin-menu-action:hover { border-color: #d6a75e; color: var(--admin-gold); }

.admin-main { width: 100%; max-width: 1800px; margin: 0 auto; padding: 18px 20px 30px; }
.admin-dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 14px; }
.admin-dashboard-heading p, .admin-module-heading p, .admin-page-header p:not(.admin-eyebrow) { margin-bottom: 0; color: #84827f; font-size: .67rem; }
.admin-quick-actions { display: flex; gap: 12px; }
.admin-quick-actions a, .admin-gold-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; padding: 8px 17px; border: 1px solid #d29a49; border-radius: 5px; background: #fffdfa; color: #b96d00; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: .72rem; font-weight: 600; text-transform: uppercase; transition: background 140ms ease, color 140ms ease, transform 140ms ease; }
.admin-quick-actions a:hover, .admin-gold-button:hover { transform: translateY(-1px); background: var(--admin-gold); color: #fff; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-bottom: 14px; }
.admin-kpi-card { display: grid; min-height: 112px; grid-template-columns: 47px 1fr; align-items: center; gap: 13px; padding: 14px 17px; border: 1px solid var(--admin-line); border-radius: 7px; background: rgba(255,255,255,.7); }
.admin-kpi-card__icon { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid #e2c496; border-radius: 50%; color: var(--admin-gold); }
.admin-kpi-card > div { display: flex; min-width: 0; flex-direction: column; }
.admin-kpi-card__label { margin-bottom: 6px; color: #484947; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: .68rem; font-weight: 500; text-transform: uppercase; }
.admin-kpi-card strong { overflow: hidden; font-size: clamp(1.5rem, 2vw, 2.1rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; white-space: nowrap; }
.admin-kpi-card small { display: flex; align-items: center; gap: 7px; margin-top: 14px; color: #888783; font-size: .54rem; }
.admin-kpi-card small b { display: inline-flex; align-items: center; gap: 3px; font-weight: 600; }
.admin-kpi-card small b.is-up { color: var(--admin-green); }
.admin-kpi-card small b.is-down { color: var(--admin-red); }

.admin-dashboard-row { display: grid; gap: 14px; margin-bottom: 14px; }
.admin-dashboard-row--primary { grid-template-columns: minmax(420px, 1.75fr) minmax(220px, .8fr) minmax(330px, 1.25fr); }
.admin-dashboard-row--secondary { grid-template-columns: minmax(440px, 1.9fr) minmax(290px, 1.15fr) minmax(200px, .75fr) minmax(210px, .82fr); }
.admin-dash-panel { min-width: 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 7px; background: rgba(255,255,255,.76); }
.admin-dash-panel__header { display: flex; min-height: 43px; align-items: center; justify-content: space-between; gap: 13px; padding: 10px 14px 7px; }
.admin-dash-panel__header > div > p { display: flex; align-items: center; gap: 9px; margin: 7px 0 0; color: #6f706e; font-size: .55rem; }
.legend-line { width: 22px; height: 2px; background: var(--admin-gold); }
.legend-line::before { content: ''; display: block; width: 6px; height: 6px; transform: translate(8px,-2px); border-radius: 50%; background: var(--admin-gold); }
.legend-bar { width: 18px; height: 7px; margin-left: 9px; background: #30302f; }
.admin-compact-select select { min-height: 30px; padding: 4px 26px 4px 9px; border: 1px solid #e5dfd5; border-radius: 4px; background: #fff; color: #666762; font-size: .56rem; }

.admin-combo-chart { display: grid; height: 205px; grid-template-columns: 38px 1fr 39px; align-items: stretch; padding: 4px 9px 11px; }
.admin-chart-y { display: flex; flex-direction: column; justify-content: space-between; padding: 2px 0 20px; color: #656663; font-size: .52rem; }
.admin-chart-y--right { text-align: right; }
.admin-chart-plot { position: relative; display: grid; grid-template-columns: repeat(var(--points, 7), minmax(20px, 1fr)); align-items: end; padding: 0 4px 20px; background: repeating-linear-gradient(to bottom, #ece9e4 0 1px, transparent 1px 30px); }
.admin-revenue-bar { position: relative; display: flex; height: 100%; align-items: flex-end; justify-content: center; }
.admin-revenue-bar i { width: min(31px, 54%); height: var(--value); background: linear-gradient(90deg, #252524, #3b3b39); }
.admin-revenue-bar small { position: absolute; bottom: -19px; color: #777772; font-size: .5rem; white-space: nowrap; }
.admin-chart-plot svg { position: absolute; inset: 0 0 20px; width: 100%; height: calc(100% - 20px); overflow: visible; pointer-events: none; }
.admin-chart-plot svg text { fill: #4f504d; font-family: 'Manrope', sans-serif; font-size: 10px; }
.admin-glance-list { padding: 0 13px 7px; }
.admin-glance-list > div { display: grid; min-height: 38px; grid-template-columns: 23px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-glance-list > div:last-child { border-bottom: 0; }
.admin-glance-list span { font-size: .62rem; }
.admin-glance-list strong { font-size: .65rem; font-weight: 600; }
.admin-glance-list strong.is-gold { color: var(--admin-gold); }
.admin-live-rooms__content { display: grid; grid-template-columns: 170px 1fr; align-items: center; gap: 9px; padding: 8px 15px 16px; }
.admin-room-donut { display: grid; width: 140px; height: 140px; margin: auto; place-items: center; border-radius: 50%; background: conic-gradient(#f0eee9 0 100%); }
.admin-room-donut::before { content: ''; grid-area: 1/1; width: 83px; height: 83px; border-radius: 50%; background: #fff; }
.admin-room-donut > div { z-index: 1; grid-area: 1/1; text-align: center; }
.admin-room-donut strong { display: block; font-size: 1.6rem; line-height: 1; }
.admin-room-donut span { display: block; margin-top: 4px; font-size: .5rem; line-height: 1.2; text-transform: uppercase; }
.admin-live-rooms ul { margin: 0; padding: 0; border-left: 1px solid var(--admin-line-soft); list-style: none; }
.admin-live-rooms li { display: grid; min-height: 25px; grid-template-columns: 8px minmax(72px, 1fr) 22px 36px; align-items: center; gap: 7px; padding-left: 14px; font-size: .51rem; }
.admin-live-rooms li i { width: 7px; height: 7px; border-radius: 50%; }
.admin-live-rooms li strong { font-size: .56rem; font-weight: 650; text-align: right; }
.admin-live-rooms li small { color: #8b8b87; text-align: right; }
.is-green { color: var(--admin-green); }.admin-live-rooms i.is-green { background: var(--admin-green); }
.is-blue { color: var(--admin-blue); }.admin-live-rooms i.is-blue { background: var(--admin-blue); }
.is-gold { color: var(--admin-gold); }.admin-live-rooms i.is-gold { background: #f0ad13; }
.is-orange { color: var(--admin-orange); }.admin-live-rooms i.is-orange { background: var(--admin-orange); }
.is-purple { color: var(--admin-purple); }.admin-live-rooms i.is-purple { background: var(--admin-purple); }
.is-red { color: var(--admin-red); }.admin-live-rooms i.is-red { background: var(--admin-red); }
.is-teal { color: var(--admin-teal); }.admin-live-rooms i.is-teal { background: var(--admin-teal); }
.is-ink { color: var(--admin-ink); }

.admin-dash-table-wrap { overflow-x: auto; padding: 0 13px; }
.admin-dash-table { width: 100%; min-width: 530px; border-collapse: collapse; }
.admin-dash-table th { padding: 5px 7px; border-block: 1px solid var(--admin-line); color: #595a58; font-family: 'Barlow Condensed', sans-serif; font-size: .48rem; font-weight: 600; text-align: left; text-transform: uppercase; }
.admin-dash-table td { height: 29px; padding: 4px 7px; border-bottom: 1px solid var(--admin-line-soft); color: #535451; font-size: .49rem; white-space: nowrap; }
.admin-dash-table td.movement-icon { width: 30px; }
.movement-icon.is-arrival { color: var(--admin-green); }.movement-icon.is-departure { color: var(--admin-red); }
.admin-table-status { padding: 3px 5px; border: 1px solid #d4a75f; border-radius: 3px; background: #fff9ef; color: #bb7100; }
.admin-table-status.is-departing { border-color: #9fc2e1; background: #f0f7fd; color: #377cb9; }
.admin-dash-table button { padding: 3px 6px; border: 1px solid #d4a75f; border-radius: 3px; background: #fff; color: #b66b00; font-size: .48rem; }
.admin-panel-link { display: flex; min-height: 35px; align-items: center; justify-content: center; gap: 13px; color: #bd7100; font-size: .55rem; }
.admin-panel-link span { font-size: 1rem; }
.admin-department-table { padding: 3px 13px 0; }
.admin-department-head, .admin-department-row { display: grid; grid-template-columns: 1.1fr .8fr 1.2fr; align-items: center; gap: 8px; }
.admin-department-head { min-height: 27px; border-bottom: 1px solid var(--admin-line); font-family: 'Barlow Condensed', sans-serif; font-size: .48rem; text-transform: uppercase; }
.admin-department-row { min-height: 32px; border-bottom: 1px solid var(--admin-line-soft); font-size: .5rem; }
.admin-department-row > strong { font-size: .54rem; font-weight: 600; }
.admin-department-row > div { display: grid; grid-template-columns: 1fr 34px; align-items: center; gap: 7px; }
.admin-department-row > div::before { content: ''; grid-area: 1/1; height: 7px; background: #f0eee9; }
.admin-department-row i { z-index: 1; grid-area: 1/1; width: var(--share); height: 7px; background: linear-gradient(90deg, #d79927, #bd7600); }
.admin-department-row small { text-align: right; }
.admin-attention-list { padding: 2px 12px 9px; }
.admin-attention-list a { display: grid; min-height: 40px; grid-template-columns: 21px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-attention-list a:last-child { border-bottom: 0; }
.admin-attention-list span { font-size: .51rem; }
.admin-attention-list strong { font-size: .72rem; }
.admin-weather { padding-bottom: 8px; }
.admin-weather-now { display: flex; align-items: center; gap: 11px; padding: 9px 16px 10px; }
.admin-weather-now .admin-icon { color: #2a2c2c; }
.admin-weather-now > div { display: flex; flex-direction: column; }
.admin-weather-now strong { font-size: 1.7rem; font-weight: 500; line-height: 1; }
.admin-weather-now span { margin-top: 5px; font-size: .58rem; }
.admin-weather > p { margin: 0 16px; padding: 10px 0; border-bottom: 1px solid var(--admin-line); color: #5d5f5c; font-size: .54rem; }
.admin-local-time { display: flex; align-items: center; justify-content: space-between; margin: 0 16px; padding: 12px 0; border-bottom: 1px solid var(--admin-line); font-size: .58rem; }
.admin-local-time strong { font-size: .9rem; font-weight: 500; }
.admin-sun-times { display: flex; justify-content: space-between; gap: 7px; padding: 11px 16px 3px; color: #6e6f6b; font-size: .46rem; }
.admin-activity { padding-bottom: 5px; }
.admin-activity .admin-dash-panel__header { min-height: 35px; }
.admin-activity-list { display: grid; grid-template-columns: repeat(5, 1fr) auto; align-items: stretch; padding: 0 16px 10px; }
.admin-activity article { position: relative; display: grid; min-width: 0; gap: 2px; padding: 2px 16px 2px 20px; border-left: 1px solid #d8d4cc; }
.admin-activity article > i { position: absolute; left: -4px; top: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--admin-gold); }
.admin-activity time { color: #787976; font-size: .47rem; }
.admin-activity strong { overflow: hidden; font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-activity article span { overflow: hidden; color: #777875; font-size: .48rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-activity-list > a { display: flex; align-items: center; gap: 10px; padding: 0 10px 0 22px; border-left: 1px solid #d8d4cc; color: var(--admin-gold); font-size: .51rem; white-space: nowrap; }

/* Shared module pages */
.admin-module-heading, .admin-page-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.admin-panel { min-width: 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 7px; background: rgba(255,255,255,.76); }
.admin-module-heading__title { display: flex; align-items: center; gap: 13px; }
.admin-module-heading__title > span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #dab678; border-radius: 50%; color: var(--admin-gold); }
.admin-module-heading h1, .admin-page-header h1 { margin-bottom: 3px; }
.admin-gold-button { background: linear-gradient(100deg, #cf8608, #b96d00); color: #fff; }
.admin-module-kpis, .admin-mini-stat-grid, .admin-guest-insights { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 14px; }
.admin-module-kpis article, .admin-mini-stat-grid article, .admin-guest-insights article { display: flex; min-height: 96px; flex-direction: column; justify-content: center; padding: 15px 18px; border: 1px solid var(--admin-line); border-radius: 7px; background: rgba(255,255,255,.72); }
.admin-module-kpis span, .admin-mini-stat-grid span, .admin-guest-insights div span { color: #555754; font-family: 'Barlow Condensed', sans-serif; font-size: .67rem; text-transform: uppercase; }
.admin-module-kpis strong, .admin-mini-stat-grid strong, .admin-guest-insights strong { display: block; margin: 5px 0 4px; font-size: 1.7rem; font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.admin-module-kpis small, .admin-mini-stat-grid small, .admin-guest-insights small { color: #888985; font-size: .54rem; }
.admin-module-grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 14px; }
.admin-module-table-panel { min-height: 520px; }
.admin-module-table-panel .admin-dash-panel__header { min-height: 64px; padding: 10px 14px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-module-table-panel .admin-dash-panel__header > div > p { margin-top: 4px; }
.admin-module-tools { display: flex; align-items: center; gap: 7px; }
.admin-module-tools label { display: flex; min-height: 34px; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid #e3ddd3; border-radius: 4px; color: #777; }
.admin-module-tools input { width: 140px; border: 0; outline: 0; background: transparent; font-size: .58rem; }
.admin-module-tools button, .admin-module-tools a { display: flex; min-height: 34px; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid #e3ddd3; border-radius: 4px; background: #fff; color: #555; font-size: .55rem; }
.admin-module-table-wrap { overflow-x: auto; }
.admin-module-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.admin-module-table th { padding: 11px 14px; background: #fcfaf7; color: #5a5b58; font-family: 'Barlow Condensed', sans-serif; font-size: .57rem; font-weight: 600; text-align: left; text-transform: uppercase; }
.admin-module-table td { height: 54px; padding: 9px 14px; border-top: 1px solid var(--admin-line-soft); color: #4f514e; font-size: .6rem; }
.admin-module-table tbody tr:hover { background: #fffaf2; }
.admin-record-status { display: inline-flex; padding: 4px 7px; border: 1px solid #ddbf8e; border-radius: 20px; background: #fff9ef; color: #9d6308; font-size: .52rem; white-space: nowrap; }
.admin-stock-alert-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; margin-bottom: 14px; }
.admin-stock-alert-card { display: grid; min-width: 0; min-height: 74px; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #ecd0cd; border-left: 3px solid var(--admin-red); border-radius: 7px; background: #fff7f4; }
.admin-stock-alert-card--warning { border-color: #e6cc9e; border-left-color: var(--admin-gold); background: #fff9ef; }
.admin-stock-alert-card > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #fff; color: var(--admin-red); }
.admin-stock-alert-card--warning > span { color: var(--admin-gold); }
.admin-stock-alert-card div { display: grid; min-width: 0; gap: 3px; }
.admin-stock-alert-card strong, .admin-alert-item strong { overflow: hidden; color: #252726; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-stock-alert-card small, .admin-alert-item small { color: #747571; font-size: .54rem; line-height: 1.45; }
.admin-stock-alert-card button, .admin-stock-alert-more { min-height: 32px; padding: 5px 9px; border: 1px solid #dec092; border-radius: 4px; background: #fff; color: #9f6307; font-size: .55rem; font-weight: 700; }

.admin-pos-outlet-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 14px; }
.admin-pos-outlet-strip article { display: grid; gap: 8px; min-height: 98px; padding: 14px 16px; border: 1px solid var(--admin-line); border-radius: 7px; background: #fffdfa; }
.admin-pos-outlet-strip span { color: var(--admin-gold); font-family: "Barlow Condensed", Arial, sans-serif; font-size: .58rem; font-weight: 600; text-transform: uppercase; }
.admin-pos-outlet-strip strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-pos-outlet-strip div { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.admin-pos-outlet-strip b { font-size: 1.05rem; }
.admin-pos-outlet-strip small { color: #858681; font-size: .54rem; text-align: right; }

.admin-report-workspace { display: grid; gap: 14px; margin-bottom: 14px; }
.admin-report-filters { display: grid; grid-template-columns: repeat(3, minmax(155px, 1fr)) auto auto; align-items: end; gap: 10px; padding: 12px 14px; border: 1px solid var(--admin-line); border-radius: 7px; background: rgba(255,255,255,.76); }
.admin-report-filters label { display: grid; gap: 5px; color: #555754; font-size: .56rem; font-weight: 650; }
.admin-report-filters label span { font-family: "Barlow Condensed", Arial, sans-serif; font-size: .62rem; text-transform: uppercase; }
.admin-report-filters input, .admin-report-filters select { width: 100%; min-height: 38px; border: 1px solid #e1d8ca; border-radius: 5px; background: #fff; color: var(--admin-ink); font-size: .63rem; }
.admin-report-filters input, .admin-report-filters select { padding: 7px 9px; }
.admin-report-grid { display: grid; gap: 14px; }
.admin-report-grid--primary { grid-template-columns: minmax(420px, 1.45fr) minmax(280px, .85fr) minmax(320px, 1fr); }
.admin-report-grid--secondary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-report-chart-panel { min-height: 292px; }
.admin-report-bars { display: grid; min-height: 226px; grid-template-columns: repeat(var(--points), minmax(42px, 1fr)); align-items: end; gap: 8px; overflow-x: auto; padding: 8px 14px 14px; }
.admin-report-bar { display: grid; min-width: 0; height: 205px; grid-template-rows: 1fr auto auto; align-items: end; justify-items: center; gap: 5px; }
.admin-report-bar i { display: block; width: min(30px, 64%); height: var(--value); min-height: 3px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #2f9d94, #252524); }
.admin-report-bar span { color: #777873; font-size: .48rem; white-space: nowrap; }
.admin-report-bar strong { overflow: hidden; max-width: 76px; color: #343634; font-size: .48rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.admin-report-empty { grid-column: 1 / -1; align-self: center; justify-self: center; color: #858681; font-size: .58rem; }
.admin-report-mix { display: grid; gap: 10px; padding: 8px 14px 14px; }
.admin-report-mix-row { display: grid; min-height: 44px; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; align-items: center; border-bottom: 1px solid var(--admin-line-soft); }
.admin-report-mix-row:last-child { border-bottom: 0; }
.admin-report-mix-row > span { display: flex; min-width: 0; align-items: center; gap: 7px; color: #4f514e; font-size: .57rem; }
.admin-report-mix-row > span .admin-icon { color: var(--admin-gold); }
.admin-report-mix-row > strong { color: #252726; font-size: .62rem; text-align: right; }
.admin-report-mix-row > div { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 38px; align-items: center; gap: 8px; }
.admin-report-mix-row > div::before { content: ""; grid-area: 1 / 1; height: 7px; border-radius: 20px; background: #eee9e1; }
.admin-report-mix-row i { z-index: 1; grid-area: 1 / 1; width: var(--share); height: 7px; border-radius: 20px; background: linear-gradient(90deg, #d18a08, #2f9d94); }
.admin-report-mix-row small { color: #6f706e; font-size: .5rem; text-align: right; }
.admin-report-scorecard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 8px 14px 14px; }
.admin-report-score { display: grid; min-height: 72px; gap: 5px; align-content: center; padding: 12px; border: 1px solid #e7ddd0; border-left: 3px solid var(--admin-gold); border-radius: 6px; background: #fff; }
.admin-report-score span { color: #696b68; font-family: "Barlow Condensed", Arial, sans-serif; font-size: .58rem; text-transform: uppercase; }
.admin-report-score strong { overflow: hidden; color: #252726; font-size: 1.05rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.admin-report-score--green { border-left-color: var(--admin-green); }.admin-report-score--blue { border-left-color: var(--admin-blue); }.admin-report-score--teal { border-left-color: var(--admin-teal); }.admin-report-score--purple { border-left-color: var(--admin-purple); }.admin-report-score--ink { border-left-color: var(--admin-ink); }
.admin-report-table-panel, .admin-report-list-panel { min-height: 224px; }
.admin-report-table-wrap { overflow-x: auto; padding: 0 14px 14px; }
.admin-report-table { width: 100%; min-width: 390px; border-collapse: collapse; }
.admin-report-table th { padding: 8px 7px; border-block: 1px solid var(--admin-line); color: #595a58; font-family: "Barlow Condensed", sans-serif; font-size: .5rem; font-weight: 600; text-align: left; text-transform: uppercase; }
.admin-report-table td { height: 34px; padding: 7px; border-bottom: 1px solid var(--admin-line-soft); color: #535451; font-size: .52rem; vertical-align: middle; }
.admin-report-table td:last-child, .admin-report-table th:last-child { text-align: right; }
.admin-report-table td small { display: block; margin-top: 2px; color: #858681; font-size: .45rem; }
.admin-report-attention { display: grid; gap: 8px; padding: 0 14px 14px; }
.admin-report-attention div { display: flex; min-height: 35px; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-report-attention div:last-child { border-bottom: 0; }
.admin-report-attention span { font-size: .55rem; }
.admin-report-attention strong { color: #242625; font-size: .72rem; }
.admin-alert-item { display: grid; gap: 3px; min-width: 190px; text-align: left; }
.admin-row-more { display: grid; width: 28px; height: 28px; place-items: center; border: 0; border-radius: 4px; background: transparent; color: #6f716e; }
.admin-row-more:hover { background: #f2eee8; }
.admin-module-footer, .admin-table-footer { display: flex; min-height: 51px; align-items: center; justify-content: space-between; gap: 15px; padding: 9px 14px; border-top: 1px solid var(--admin-line-soft); color: #777874; font-size: .55rem; }
.admin-module-footer > div, .admin-table-footer > div { display: flex; gap: 4px; }
.admin-module-footer button, .admin-table-footer button { min-width: 30px; min-height: 28px; padding: 4px 8px; border: 1px solid #e0d9ce; border-radius: 4px; background: #fff; color: #656762; font-size: .52rem; }
.admin-module-footer button.is-active, .admin-table-footer button.is-active { border-color: #d4a151; background: var(--admin-gold-soft); color: #aa6700; }
.admin-module-footer button:disabled, .admin-table-footer button:disabled { opacity: .45; }
.admin-module-side { display: grid; align-content: start; gap: 14px; }
.admin-module-actions { padding: 4px 12px 12px; }
.admin-module-actions button, .admin-module-actions a { display: grid; width: 100%; min-height: 43px; grid-template-columns: 23px 1fr auto; align-items: center; gap: 8px; padding: 7px 5px; border: 0; border-bottom: 1px solid var(--admin-line-soft); background: transparent; color: #3e403e; text-align: left; }
.admin-module-actions button:last-child, .admin-module-actions a:last-child { border-bottom: 0; }
.admin-module-actions button .admin-icon, .admin-module-actions a .admin-icon { color: var(--admin-gold); }
.admin-module-actions button span, .admin-module-actions a span { font-size: .59rem; }
.admin-module-actions button b, .admin-module-actions a b { color: var(--admin-gold); font-size: 1rem; }
.admin-wiring-card { padding: 19px; background: linear-gradient(145deg, #171c1e, #111618); color: #dfe1df; }
.admin-wiring-card > span { display: grid; width: 38px; height: 38px; margin-bottom: 15px; place-items: center; border-radius: 50%; background: rgba(206,137,18,.17); color: #e3a73d; }
.admin-wiring-card h2 { margin-bottom: 8px; color: #fff; }
.admin-wiring-card p { margin-bottom: 0; color: rgba(255,255,255,.62); font-size: .58rem; line-height: 1.7; }
.admin-module-empty, .admin-empty-state { padding: 58px 20px; text-align: center; }
.admin-module-empty .admin-icon, .admin-empty-state > span { margin: 0 auto 12px; color: #aaa59d; }
.admin-module-empty h3, .admin-empty-state h3 { margin-bottom: 5px; font-size: .85rem; }
.admin-module-empty p, .admin-empty-state p { margin-bottom: 0; color: #858681; font-size: .56rem; }

/* Reservations, rooms, and CRM */
.admin-eyebrow { margin-bottom: 4px; color: var(--admin-gold); font-family: 'Barlow Condensed', sans-serif; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-page-actions { display: flex; gap: 9px; }
.admin-button { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; gap: 7px; padding: 8px 14px; border: 1px solid #d9c4a1; border-radius: 5px; font-size: .6rem; font-weight: 650; }
.admin-button--primary { background: linear-gradient(100deg,#d18a08,#b96d00); color: #fff; }
.admin-button--secondary { background: #fff; color: #5c554b; }
.admin-button--small { min-height: 34px; }
.admin-filter-count { display: grid; width: 16px; height: 16px; place-items: center; border-radius: 50%; background: #f4e5cc; color: #9d6200; font-size: .48rem; }
.admin-list-panel { padding: 0; }
.admin-tabs { display: flex; gap: 24px; overflow-x: auto; padding: 0 18px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-tabs button { position: relative; min-height: 49px; flex: 0 0 auto; border: 0; background: transparent; color: #777873; font-size: .59rem; }
.admin-tabs button.is-active { color: var(--admin-ink); font-weight: 650; }
.admin-tabs button.is-active::after { content: ''; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--admin-gold); }
.admin-tabs button span { margin-left: 4px; padding: 2px 5px; border-radius: 10px; background: #f1eee9; font-size: .48rem; }
.admin-table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; }
.admin-table-toolbar > div { display: flex; gap: 7px; }
.admin-table-search { display: flex; width: min(370px, 45%); min-height: 35px; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #e2dcd2; border-radius: 4px; color: #858681; }
.admin-table-search input { width: 100%; border: 0; outline: 0; font-size: .58rem; }
.admin-select select { min-height: 34px; padding: 6px 26px 6px 9px; border: 1px solid #e2dcd2; border-radius: 4px; background: #fff; color: #60615e; font-size: .56rem; }
.admin-table-wrap { overflow-x: auto; border-top: 1px solid var(--admin-line-soft); }
.admin-table { width: 100%; min-width: 970px; border-collapse: collapse; }
.admin-table th { padding: 9px 12px; background: #fcfaf7; color: #666762; font-family: 'Barlow Condensed', sans-serif; font-size: .53rem; font-weight: 600; text-align: left; text-transform: uppercase; }
.admin-table td { height: 58px; padding: 8px 12px; border-top: 1px solid var(--admin-line-soft); color: #595a56; font-size: .57rem; }
.admin-table tbody tr:hover { background: #fffaf3; }
.admin-table td > strong { display: block; color: #343634; font-weight: 600; }
.admin-table td > small { display: block; margin-top: 2px; color: #8a8b87; font-size: .49rem; }
.admin-guest-cell { display: flex; min-width: 140px; align-items: center; gap: 8px; }
.admin-avatar { display: grid; width: 33px; height: 33px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #efe8dc; color: #8d620e; font-size: .55rem; font-weight: 700; }
.admin-avatar--vip { border: 1px solid #d5a34e; background: #fff5e3; }
.admin-reference { padding: 0; border: 0; border-bottom: 1px solid #bd9c68; background: transparent; color: #875b17; font-size: .55rem; font-weight: 650; }
.admin-status { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 20px; background: #f1eee9; color: #686965; font-size: .5rem; }
.admin-status::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.admin-status--arriving, .admin-status--cleaning { background: #edf5fc; color: var(--admin-blue); }
.admin-status--confirmed, .admin-status--ready { background: #edf7ec; color: var(--admin-green); }
.admin-status--pending, .admin-status--reserved { background: #fff5e5; color: var(--admin-gold); }
.admin-status--departing { background: #edf4fb; color: var(--admin-blue); }
.admin-status--cancelled, .admin-status--maintenance { background: #fbebea; color: var(--admin-red); }
.admin-status--occupied { background: #eaf5e9; color: #327d2a; }
.admin-status--checked-in { background: #eaf5e9; color: #327d2a; }
.admin-status--checked-out { background: #f1eee9; color: #686965; }
.admin-status--no-show, .admin-status--failed { background: #fbebea; color: var(--admin-red); }
.admin-status-stack { display: grid; gap: 5px; justify-items: start; }
.admin-payment-cell { display: grid; min-width: 150px; gap: 2px; }
.admin-payment-cell strong { color: #242622; font-size: .62rem; font-weight: 700; }
.admin-payment-cell small { color: #747570; font-size: .5rem; line-height: 1.35; }
.admin-payment-cell em { font-style: normal; font-size: .5rem; font-weight: 750; }
.admin-payment-cell em.is-attention { color: #a15f00; }
.admin-payment-cell em.is-clear { color: var(--admin-green); }
.admin-payment-pill { display: inline-flex; align-items: center; padding: 4px 7px; border: 1px solid #e4d6bd; border-radius: 20px; background: #fffaf0; color: #8d5c0a; font-size: .49rem; font-weight: 700; }
.admin-payment-pill--paid { border-color: #cde5c9; background: #edf7ec; color: var(--admin-green); }
.admin-payment-pill--pending, .admin-payment-pill--deposit-paid, .admin-payment-pill--balance-due { border-color: #efd6aa; background: #fff5e5; color: #9d6200; }
.admin-payment-pill--failed, .admin-payment-pill--refunded { border-color: #ecd0cd; background: #fbebea; color: var(--admin-red); }
.admin-row-action { width: 28px; height: 28px; border: 0; border-radius: 4px; background: transparent; color: #71726f; }
.admin-row-action:hover { background: #f0ece5; }

.admin-room-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 14px; }
.admin-room-summary button { position: relative; display: grid; min-height: 78px; grid-template-columns: 11px auto; align-content: center; justify-content: start; gap: 4px 6px; padding: 12px 15px; border: 1px solid var(--admin-line); border-radius: 6px; background: #fff; text-align: left; }
.admin-room-summary button:first-child { grid-template-columns: auto; }
.admin-room-summary button.is-active { border-color: #d6a75e; background: #fffbf4; }
.admin-room-summary i { width: 7px; height: 7px; align-self: center; border-radius: 50%; }
.admin-room-summary strong { font-size: 1.35rem; line-height: 1; }
.admin-room-summary span { grid-column: 1/-1; color: #737470; font-size: .54rem; }
.admin-room-board { padding: 0; }
.admin-room-board__header { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 16px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-room-board__header h2 { margin-bottom: 3px; }
.admin-room-board__header p { margin: 0; color: #858681; font-size: .52rem; }
.admin-room-board__header p strong { color: #4b4d49; }
.admin-sync-status { color: #777873; font-size: .51rem; }
.admin-sync-status i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--admin-green); }
.admin-room-board__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; border-bottom: 1px solid var(--admin-line-soft); background: #fffdfa; }
.admin-room-board__toolbar > div { display: flex; align-items: center; gap: 7px; }
.admin-filter-reset { min-height: 34px; padding: 6px 10px; border: 1px solid transparent; background: transparent; color: #9a650c; font-size: .54rem; font-weight: 650; }
.admin-filter-reset:hover { border-color: #e2d4bd; border-radius: 4px; background: #fff8eb; }
.admin-room-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(265px,1fr)); gap: 11px; padding: 14px; background: #fcfaf7; }
.admin-room-card { overflow: hidden; border: 1px solid #e5ded3; border-top: 3px solid #aaa; border-radius: 6px; background: #fff; }
.admin-room-card--occupied { border-top-color: var(--admin-green); }.admin-room-card--ready { border-top-color: var(--admin-gold); }.admin-room-card--cleaning { border-top-color: var(--admin-blue); }.admin-room-card--maintenance { border-top-color: var(--admin-red); }.admin-room-card--reserved { border-top-color: #ecac13; }
.admin-room-card > header { display: grid; grid-template-columns: 1fr auto; padding: 11px 12px 8px; }
.admin-room-card > header > span:first-child { color: #858681; font-size: .48rem; text-transform: uppercase; }
.admin-room-card > header > strong { grid-row: 2; font-size: 1.15rem; }
.admin-room-card > header .admin-status { grid-row: 1/3; grid-column: 2; align-self: center; }
.admin-room-card__body { display: flex; min-height: 72px; flex-direction: column; padding: 9px 12px 11px; border-top: 1px solid #f0ece6; }
.admin-room-card__body p { margin-bottom: 5px; color: #7b7c78; font-size: .5rem; }
.admin-room-card__body strong { margin-bottom: 2px; font-size: .58rem; }.admin-room-card__body strong.is-muted { color: #a09f9a; }
.admin-room-card__body span { color: #797a76; font-size: .49rem; }
.admin-room-card > footer { display: flex; align-items: center; justify-content: space-between; padding: 7px 9px 7px 12px; border-top: 1px solid #ece7df; background: #fdfbf8; }
.admin-room-card > footer select { max-width: 112px; border: 0; background: transparent; color: #656763; font-size: .5rem; }
.admin-room-card > footer button { border: 0; background: transparent; }
.is-occupied { background: var(--admin-green); }.is-ready { background: var(--admin-gold); }.is-cleaning { background: var(--admin-blue); }.is-maintenance { background: var(--admin-red); }

.admin-room-type-header { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 16px; }
.admin-room-type-header h2 { margin-bottom: 3px; }
.admin-room-type-header p:last-child { margin: 0; color: #858681; font-size: .54rem; }
.admin-room-type-header > span { padding: 6px 9px; border-radius: 20px; background: #f4eee4; color: #77736c; font-size: .52rem; white-space: nowrap; }
.admin-room-type-header > span b { color: #393b38; }
.admin-room-type-toolbar { border-top: 1px solid var(--admin-line-soft); background: #fcfaf7; }
.admin-room-type-table { min-width: 1120px; }
.admin-room-type-table th:first-child, .admin-room-type-table td:first-child { width: 25%; }
.admin-room-type-cell { display: flex; min-width: 220px; align-items: center; gap: 10px; }
.admin-room-type-cell > span { display: grid; width: 46px; height: 38px; flex: 0 0 auto; overflow: hidden; place-items: center; border: 1px solid #e4dbcd; border-radius: 5px; background: #f7f1e7; color: var(--admin-gold); }
.admin-room-type-cell img { width: 100%; height: 100%; object-fit: cover; }
.admin-room-type-cell strong, .admin-room-type-cell small { display: block; }
.admin-room-type-cell strong { margin-bottom: 3px; color: #343634; }
.admin-room-type-cell small { color: #8a8b87; font-size: .49rem; }
.admin-room-type-meta strong, .admin-room-type-meta small { display: block; }
.admin-dialog--room-type { width: min(820px, calc(100vw - 26px)); }
.admin-dialog--room-type .admin-dialog__surface { display: flex; max-height: calc(100vh - 28px); flex-direction: column; }
.admin-dialog--room-type .admin-dialog__header, .admin-dialog--room-type .admin-dialog__actions, .admin-dialog--room-type .admin-room-type-preview { flex: 0 0 auto; }
.admin-dialog--room-type .admin-record-details { min-height: 0; flex: 1 1 auto; max-height: none; }
.admin-room-type-preview { position: relative; display: grid; min-height: 130px; grid-template-columns: 190px 1fr; align-items: stretch; overflow: hidden; background: linear-gradient(115deg, #171c1e, #262b2c); color: #fff; }
.admin-room-type-preview__media { display: grid; min-height: 130px; overflow: hidden; place-items: center; background: linear-gradient(145deg, #8e5700, #e8a52f); color: #fff; }
.admin-room-type-preview__media > * { grid-area: 1 / 1; }
.admin-room-type-preview__media img { width: 100%; height: 100%; max-height: 190px; object-fit: cover; }
.admin-room-type-preview__fallback { display: grid; place-items: center; }
.admin-room-type-preview > div { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: 4px; padding: 20px 24px; }
.admin-room-type-preview span { color: #e4aa42; font-family: 'Barlow Condensed', sans-serif; font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-room-type-preview strong { font-family: Georgia, serif; font-size: 1.35rem; }
.admin-room-type-preview small { display: -webkit-box; overflow: hidden; color: rgba(255,255,255,.68); font-size: .57rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.admin-guest-insights { grid-template-columns: repeat(3, 1fr); }
.admin-guest-insights article { display: grid; min-height: 88px; grid-template-columns: 38px 1fr; align-items: center; gap: 4px 11px; }
.admin-insight-mark { display: grid; width: 36px; height: 36px; grid-row: 1/3; place-items: center; border: 1px solid #ddbd88; border-radius: 50%; color: var(--admin-gold); }
.admin-guest-insights div { display: flex; align-items: baseline; gap: 7px; }
.admin-guest-insights strong { display: inline; margin: 0; }
.admin-guest-insights small { grid-column: 2; }
.admin-guest-tier { display: inline-flex; padding: 4px 7px; border-radius: 20px; background: #f1eee9; color: #666; font-size: .5rem; }
.admin-guest-tier--vip { background: #fff4df; color: #a96900; }.admin-guest-tier--returning { background: #edf7ec; color: var(--admin-green); }.admin-guest-tier--new { background: #edf5fc; color: var(--admin-blue); }
.admin-toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 200; }
.admin-toast { min-width: 260px; margin-top: 7px; padding: 11px 14px; border-left: 3px solid var(--admin-gold); border-radius: 5px; background: #151a1c; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-size: .6rem; }

@media (max-width: 1450px) {
    .admin-topbar { grid-template-columns: 220px minmax(220px,1fr) auto auto auto; gap: 10px; padding-right: 18px; }
    .admin-help { display: none; }
    .admin-dashboard-heading { align-items: flex-start; flex-direction: column; }
    .admin-quick-actions { width: 100%; }
    .admin-quick-actions a { flex: 1; }
    .admin-dashboard-row--primary { grid-template-columns: 1.5fr .75fr; }
    .admin-live-rooms { grid-column: 1/-1; }
    .admin-live-rooms__content { grid-template-columns: 190px 1fr; }
    .admin-live-rooms ul { display: grid; grid-template-columns: 1fr 1fr; }
    .admin-dashboard-row--secondary { grid-template-columns: 1.5fr 1fr 1fr; }
    .admin-report-grid--primary { grid-template-columns: 1fr 1fr; }
    .admin-report-chart-panel { grid-column: 1 / -1; }
    .admin-report-grid--secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-weather { grid-column: 3; }
    .admin-attention { grid-column: 3; grid-row: 1; }
    .admin-movements { grid-row: 1/3; }
    .admin-departments { grid-row: 1/3; }
    .admin-weather { grid-row: 2; }
}
@media (max-width: 1180px) {
    .admin-sidebar { transform: translateX(-100%); }
    .admin-workspace, .admin-shell.is-collapsed .admin-workspace { margin-left: 0; }
    .admin-shell.is-nav-open .admin-sidebar { transform: none; width: 220px; }
    .admin-overlay { position: fixed; inset: 0; z-index: 70; display: block; visibility: hidden; border: 0; background: rgba(0,0,0,.48); opacity: 0; transition: opacity 160ms ease, visibility 160ms ease; }
    .admin-shell.is-nav-open .admin-overlay { visibility: visible; opacity: 1; }
    .admin-menu-button { display: grid; }
    .admin-topbar { grid-template-columns: 40px 220px minmax(200px,1fr) auto auto; }
    .admin-topbar__date { display: none; }
    .admin-collapse { display: none; }
    .admin-kpi-grid { grid-template-columns: repeat(3, 1fr); }
    .admin-kpi-card:nth-child(n+4) { grid-column: span 1; }
    .admin-dashboard-row--secondary { grid-template-columns: 1fr 1fr; }
    .admin-movements, .admin-departments, .admin-attention, .admin-weather { grid-column: auto; grid-row: auto; }
    .admin-movements { grid-column: 1/-1; }
    .admin-room-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
    .admin-topbar { grid-template-columns: 40px 1fr auto auto; padding: 8px 13px; }
    .admin-property-picker { display: none; }
    .admin-global-search { width: 100%; }
    .admin-profile { min-width: 42px; grid-template-columns: 38px; }
    .admin-profile > span:nth-child(2), .admin-profile > .admin-icon { display: none; }
    .admin-main { padding: 16px 13px 28px; }
    .admin-kpi-grid { grid-template-columns: 1fr 1fr; }
    .admin-dashboard-row--primary, .admin-dashboard-row--secondary { grid-template-columns: 1fr; }
    .admin-live-rooms, .admin-movements { grid-column: auto; }
    .admin-activity-list { grid-template-columns: 1fr 1fr; gap: 13px 0; }
    .admin-activity-list > a { border-left: 0; }
    .admin-module-grid { grid-template-columns: 1fr; }
    .admin-module-side { grid-template-columns: 1fr 1fr; }
    .admin-report-filters { grid-template-columns: 1fr 1fr; }
    .admin-report-grid--primary, .admin-report-grid--secondary { grid-template-columns: 1fr; }
    .admin-report-chart-panel { grid-column: auto; }
    .admin-module-kpis, .admin-mini-stat-grid { grid-template-columns: 1fr 1fr; }
    .admin-room-grid { grid-template-columns: 1fr 1fr; }
    .admin-room-summary { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 620px) {
    .admin-topbar { grid-template-columns: 40px 1fr auto; }
    .admin-global-search { min-width: 0; width: 100%; justify-content: flex-start; }
    .admin-global-search kbd { display: none; }
    .admin-help, .admin-notification { display: none; }
    .admin-dashboard-heading, .admin-module-heading, .admin-page-header { align-items: stretch; flex-direction: column; }
    .admin-quick-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .admin-kpi-grid { grid-template-columns: 1fr; }
    .admin-kpi-card { min-height: 96px; }
    .admin-dashboard-row--primary { grid-template-columns: 1fr; }
    .admin-combo-chart { height: 190px; grid-template-columns: 31px 1fr 34px; padding-inline: 5px; }
    .admin-live-rooms__content { grid-template-columns: 1fr; }
    .admin-live-rooms ul { grid-template-columns: 1fr 1fr; border-left: 0; }
    .admin-activity-list { grid-template-columns: 1fr; }
    .admin-activity-list > a { min-height: 35px; }
    .admin-module-kpis, .admin-mini-stat-grid, .admin-guest-insights { grid-template-columns: 1fr; }
    .admin-module-side { grid-template-columns: 1fr; }
    .admin-report-filters { grid-template-columns: 1fr; }
    .admin-report-filters .admin-button { width: 100%; }
    .admin-report-scorecard { grid-template-columns: 1fr; }
    .admin-module-table-panel .admin-dash-panel__header { align-items: stretch; flex-direction: column; }
    .admin-module-tools { overflow-x: auto; }
    .admin-module-tools label { flex: 1; }
    .admin-module-tools input { width: 100px; }
    .admin-table-toolbar { align-items: stretch; flex-direction: column; }
    .admin-table-search { width: 100%; }
    .admin-table-toolbar > div { overflow-x: auto; }
    .admin-room-summary { grid-template-columns: 1fr 1fr; }
    .admin-room-grid { grid-template-columns: 1fr; }
    .admin-room-board__header { align-items: flex-start; flex-direction: column; }
    .admin-room-board__toolbar, .admin-room-board__toolbar > div, .admin-room-type-header { align-items: stretch; flex-direction: column; }
    .admin-room-board__toolbar .admin-table-search { width: 100%; }
    .admin-room-board__toolbar .admin-select select { width: 100%; }
    .admin-room-type-stats { grid-template-columns: 1fr 1fr; }
    .admin-room-type-header > span { align-self: flex-start; }
    .admin-room-type-table { display: block; min-width: 0; }
    .admin-room-type-table thead { display: none; }
    .admin-room-type-table tbody { display: grid; gap: 10px; padding: 12px; }
    .admin-room-type-table tr { display: block; overflow: hidden; border: 1px solid #e6ddd0; border-radius: 6px; background: #fff; }
    .admin-room-type-table td, .admin-room-type-table td:last-child { display: flex; width: 100%; min-width: 0; height: auto; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 9px 12px; border-top: 1px solid var(--admin-line-soft); text-align: right; }
    .admin-room-type-table td:first-child { display: block; padding-block: 12px; border-top: 0; }
    .admin-room-type-table td:not(:first-child)::before { content: attr(data-label); flex: 0 0 auto; color: #777873; font-family: 'Barlow Condensed', sans-serif; font-size: .53rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
    .admin-room-type-table .admin-row-actions { width: min(220px, 68%); }
    .admin-room-type-table .admin-row-actions button { flex: 1; }
    .admin-room-type-preview { grid-template-columns: 1fr; }
    .admin-room-type-preview__media { min-height: 140px; }
    .admin-room-type-preview__media img { height: 140px; }
    .admin-table-footer { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .admin-body *, .admin-body *::before, .admin-body *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.admin-dialog { width: min(760px, calc(100vw - 26px)); max-height: calc(100vh - 28px); padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--admin-ink); }
.admin-dialog--wide { width: min(960px, calc(100vw - 26px)); }
.admin-dialog::backdrop { background: rgba(13,18,20,.58); backdrop-filter: blur(4px); }
.admin-dialog__surface { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 7px; background: #fffdfa; box-shadow: 0 24px 80px rgba(0,0,0,.28); }
.admin-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 18px 13px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-dialog__header h2 { font-size: 1.1rem; }
.admin-dialog__close { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #e2d8c9; border-radius: 5px; background: #fff; color: #5f5f5b; font-size: 1rem; line-height: 1; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: min(62vh, 560px); overflow-y: auto; padding: 16px 18px; }
.admin-form-grid label { display: grid; gap: 6px; color: #555754; font-size: .58rem; font-weight: 650; }
.admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea { width: 100%; min-height: 38px; border: 1px solid #e1d8ca; border-radius: 5px; background: #fff; color: var(--admin-ink); font-size: .66rem; }
.admin-form-grid input, .admin-form-grid select { padding: 7px 9px; }
.admin-form-grid textarea { resize: vertical; padding: 9px; }
.admin-form-grid__wide { grid-column: 1 / -1; }
.admin-form-error { margin: 0 18px 12px; padding: 9px 11px; border: 1px solid #efb7b3; border-radius: 5px; background: #fff1f0; color: var(--admin-red); font-size: .6rem; }
.admin-dialog-list { max-height: min(34vh, 320px); overflow: auto; padding: 0 18px 18px; border-top: 1px solid var(--admin-line-soft); }
#inventory-category-dialog .admin-dialog__surface { display: flex; max-height: calc(100vh - 28px); flex-direction: column; }
#inventory-category-dialog .admin-form-grid { max-height: min(38vh, 330px); }
#inventory-category-dialog .admin-dialog-list { flex: 1 1 auto; min-height: 0; }
#stock-alert-dialog .admin-dialog__surface { display: flex; max-height: calc(100vh - 28px); flex-direction: column; }
#stock-alert-dialog .admin-dialog-list { flex: 1 1 auto; max-height: min(64vh, 620px); min-height: 0; }
.admin-dialog-list .admin-module-table { min-width: 0; }
.admin-dialog-list .admin-empty-state { margin: 0; padding: 26px; }
.admin-dialog__actions { display: flex; justify-content: flex-end; gap: 9px; padding: 13px 18px 17px; border-top: 1px solid var(--admin-line-soft); background: #fcfaf7; }
.admin-button:disabled { opacity: .58; cursor: wait; }

@media (max-width: 620px) {
    .admin-stock-alert-strip, .admin-pos-outlet-strip { grid-template-columns: 1fr; }
    .admin-stock-alert-card { grid-template-columns: 31px 1fr; }
    .admin-stock-alert-card button, .admin-stock-alert-more { grid-column: 1 / -1; }
    .admin-form-grid { grid-template-columns: 1fr; max-height: 68vh; }
    .admin-dialog__actions { flex-direction: column-reverse; }
    .admin-dialog__actions .admin-button { width: 100%; }
}
.admin-checkbox-field { display: flex !important; min-height: 38px; align-items: center; gap: 8px; padding-top: 19px; }
.admin-checkbox-field input { width: auto; min-height: 0; }
.admin-upload-field { display: grid; gap: 9px; min-width: 0; margin: 0; padding: 13px; border: 1px solid #e1d8ca; border-radius: 6px; background: #fcfaf7; }
.admin-upload-field legend { padding: 0 5px; color: #555754; font-size: .58rem; font-weight: 650; }
.admin-upload-field > input[type="file"] { width: 100%; min-height: 42px; padding: 5px; border: 1px dashed #d5b783; border-radius: 5px; background: #fff; color: #6e6f6b; font-size: .57rem; }
.admin-upload-field > input[type="file"]::file-selector-button { min-height: 30px; margin-right: 9px; padding: 5px 10px; border: 1px solid #d8b77f; border-radius: 4px; background: #fff7e9; color: #99620b; font: inherit; font-weight: 650; cursor: pointer; }
.admin-upload-field > small { color: #858681; font-size: .51rem; line-height: 1.5; }
.admin-upload-main-preview { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 8px; border: 1px solid #e8dfd2; border-radius: 5px; background: #fff; }
.admin-upload-main-preview img { width: 74px; height: 52px; flex: 0 0 auto; border-radius: 4px; object-fit: cover; }
.admin-upload-main-preview > div { display: grid; min-width: 0; gap: 2px; }
.admin-upload-main-preview strong { overflow: hidden; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-upload-main-preview span { color: #858681; font-size: .5rem; }
.admin-upload-gallery-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)); gap: 7px; }
.admin-upload-gallery-preview figure { min-width: 0; overflow: hidden; margin: 0; border: 1px solid #e5ddd1; border-radius: 5px; background: #fff; }
.admin-upload-gallery-preview img { width: 100%; height: 61px; object-fit: cover; }
.admin-upload-gallery-preview figcaption { overflow: hidden; padding: 4px 6px 5px; color: #777873; font-size: .45rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-upload-toggle { display: flex !important; align-items: center; gap: 7px !important; color: #8e3a34 !important; font-size: .53rem !important; font-weight: 600 !important; }
.admin-upload-toggle input { width: auto; min-height: 0; }

.admin-row-actions { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.admin-row-actions button, .admin-row-actions a, .admin-room-card > footer .admin-row-actions button { display: inline-flex; min-height: 27px; align-items: center; justify-content: center; padding: 4px 7px; border: 1px solid #ded6ca; border-radius: 4px; background: #fff; color: #5f605d; font-size: .5rem; font-weight: 650; line-height: 1; }
.admin-row-actions button:hover, .admin-row-actions a:hover { border-color: #c9933f; background: var(--admin-gold-soft); color: #9f6307; }
.admin-row-actions .is-danger { border-color: #ecd0cd; color: var(--admin-red); }
.admin-row-actions .is-danger:hover { border-color: #dfa6a1; background: #fff1f0; color: #ad211b; }
.admin-row-actions button:disabled { opacity: .42; cursor: not-allowed; }
.admin-module-table th:last-child, .admin-module-table td:last-child, .admin-table th:last-child, .admin-table td:last-child { min-width: 150px; text-align: right; }
.admin-room-card > footer { gap: 8px; }
.admin-room-card > footer .admin-row-actions { margin-left: auto; }

.admin-record-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; max-height: min(62vh, 560px); overflow-y: auto; margin: 0; padding: 16px 18px; background: #eee8df; }
.admin-record-details > div { min-height: 70px; padding: 13px 14px; background: #fffdfa; }
.admin-record-details__wide { grid-column: 1 / -1; }
.admin-record-details dt { margin-bottom: 6px; color: #85837f; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: .55rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.admin-record-details dd { margin: 0; color: #30322f; font-size: .66rem; font-weight: 600; overflow-wrap: anywhere; white-space: pre-wrap; }

@media (max-width: 620px) {
    .admin-record-details { grid-template-columns: 1fr; }
    .admin-record-details__wide { grid-column: auto; }
    .admin-row-actions { gap: 3px; }
    .admin-row-actions button, .admin-row-actions a, .admin-room-card > footer .admin-row-actions button { padding-inline: 6px; }
}

.admin-checkbox-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; margin: 0; padding: 13px 14px; border: 1px solid #e4ddd2; border-radius: 5px; }
.admin-checkbox-group legend { grid-column: 1 / -1; padding: 0; color: #555754; font-family: "Barlow Condensed", Arial, sans-serif; font-size: .67rem; text-transform: uppercase; }
.admin-checkbox-group label { display: flex; align-items: center; gap: 7px; margin: 0; color: #4f514e; font-size: .62rem; text-transform: none; }
.admin-checkbox-group input { width: auto; min-height: 0; accent-color: var(--admin-gold); }
@media (max-width: 620px) { .admin-checkbox-group { grid-template-columns: 1fr; } }

.admin-logout-form { margin: 0; }

.admin-access-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 14px; align-items: start; }
.admin-staff-table { min-width: 1080px; }
.admin-access-roles { display: grid; gap: 10px; }
.admin-role-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--admin-line); border-radius: 7px; background: rgba(255,255,255,.76); }
.admin-role-card header { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.admin-role-card header span { color: #8a8b87; font-size: .5rem; text-transform: uppercase; }
.admin-role-card h2 { margin-top: 2px; }
.admin-role-card header > strong { display: grid; min-width: 34px; height: 30px; place-items: center; border-radius: 5px; background: #fff4df; color: #a96900; font-size: .82rem; }
.admin-role-card p { margin-bottom: 0; color: #545653; font-size: .58rem; line-height: 1.6; }
.admin-role-card small { display: -webkit-box; overflow: hidden; color: #787975; font-size: .5rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.admin-role-card footer { justify-content: flex-start; }
.admin-dialog--access { width: min(930px, calc(100vw - 26px)); }
.admin-form-grid--access { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-form-grid label small { color: #858681; font-size: .5rem; font-weight: 500; }
.admin-form-grid--pos textarea[name="items"] { min-height: 112px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; line-height: 1.55; }
.admin-pos-outlet-table td strong { display: block; color: var(--admin-ink); font-size: .62rem; }
.admin-pos-outlet-table td small { display: block; margin-top: 3px; color: #858681; font-size: .5rem; }
.admin-role-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-permission-matrix { display: grid; gap: 10px; }
.admin-permission-module { display: grid; gap: 9px; margin: 0; padding: 12px; border: 1px solid #e4ddd2; border-radius: 6px; background: #fff; }
.admin-permission-module legend { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 0; color: #2f312f; font-family: "Barlow Condensed", Arial, sans-serif; font-size: .68rem; font-weight: 600; text-transform: uppercase; }
.admin-permission-module legend button { min-height: 26px; padding: 4px 8px; border: 1px solid #e0d4c1; border-radius: 4px; background: #fff8eb; color: #99620b; font-family: "Manrope", Arial, sans-serif; font-size: .48rem; font-weight: 700; text-transform: none; }
.admin-permission-module p { margin: 0; color: #858681; font-size: .5rem; line-height: 1.5; }
.admin-permission-module > div { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.admin-permission-module label { display: flex; min-height: 30px; align-items: center; gap: 6px; padding: 5px 7px; border: 1px solid #eee6da; border-radius: 4px; background: #fcfaf7; color: #4f514e; font-size: .52rem; font-weight: 650; }
.admin-permission-module input, .admin-role-picker input { width: auto; min-height: 0; accent-color: var(--admin-gold); }

@media (max-width: 1180px) {
    .admin-access-grid { grid-template-columns: 1fr; }
    .admin-access-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .admin-access-roles, .admin-form-grid--access, .admin-role-picker, .admin-permission-module > div { grid-template-columns: 1fr; }
    .admin-permission-module legend { align-items: flex-start; flex-direction: column; }
}
