:root{
  --navy:#0d1b2a;--navy-2:#132840;--paper:#eef1f4;--white:#fff;--brass:#c9a24e;
  --brass-2:#e4c46e;--cobalt:#2857c8;--coral:#d7654a;--ink:#14253e;--muted:#657486;
  --line:#d9e0e7;--shadow:0 18px 50px rgba(13,27,42,.12);--radius:14px;--max:1200px
}

.status-badge.status-pass,.status-badge.status-completed{background:#e4f5eb;color:#17603a}.status-badge.status-warn,.status-badge.status-running,.status-badge.status-degraded{background:#fff1c9;color:#7a5600}.status-badge.status-fail,.status-badge.status-failed,.status-badge.status-unready{background:#fbe2e2;color:#8b2323}
.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;color:#0d1b2e;padding:12px 16px;border:2px solid #d8a942;border-radius:8px}.skip-link:focus{top:16px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2f61d5;outline-offset:3px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.2px}.brand-logo{width:174px;height:auto;max-height:58px;object-fit:contain}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--brass);color:var(--navy);display:grid;place-items:center;font-size:1.45rem;font-family:Georgia,serif}.brand-word{font-size:1.12rem;letter-spacing:.03em}.brand-domain{display:block;font-size:.75rem;color:#b8c6d6;font-weight:600;margin-top:-4px}.nav-links{display:flex;align-items:center;gap:25px;font-size:.9rem;margin-left:auto}.nav-links a{color:#ecf1f7}.nav-links a:hover{color:var(--brass-2)}.nav-actions{display:flex;align-items:center;gap:10px}.lang-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:3px}.lang-toggle button{border:0;background:transparent;color:#bdc9d5;padding:7px 9px;border-radius:999px;cursor:pointer;font-weight:800}.lang-toggle button.active{background:var(--brass);color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:12px 20px;font-weight:850;cursor:pointer;transition:.2s ease;gap:8px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brass);color:var(--navy);box-shadow:0 8px 18px rgba(201,162,78,.22)}.btn-primary:hover{background:var(--brass-2)}.btn-secondary{background:transparent;border-color:var(--navy);color:var(--navy)}.site-header .btn-secondary{border-color:rgba(255,255,255,.35);color:#fff}.btn-ghost{border-color:var(--line);color:var(--navy);background:transparent}.mobile-toggle{display:none}
.hero{padding:0;background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:700px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 54px 72px 0}.hero-media{position:relative;min-height:700px;background:url('hero-venue.png') center/cover no-repeat;border-radius:0 0 0 28px}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,42,.05),transparent 35%)}.hero-location{position:absolute;right:36px;bottom:62px;z-index:2;width:190px;padding:22px;background:var(--cobalt);color:#fff;border-radius:4px;box-shadow:0 14px 30px rgba(13,27,42,.25)}.hero-location strong{display:block;font-size:1.05rem;margin-bottom:6px}.eyebrow{color:var(--cobalt);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem}.site-header .eyebrow{color:var(--brass)}h1,h2,h3{line-height:1.08;margin:0 0 18px;font-family:Georgia,"Times New Roman",serif;color:var(--navy)}h1{font-size:clamp(3.4rem,6vw,6rem);max-width:700px;letter-spacing:-.04em}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.35rem}.lead{font-size:1.14rem;color:#45566b;max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.badge{padding:7px 11px;border:1px solid #cdd6df;border-radius:999px;color:#596a7d;background:rgba(255,255,255,.55);font-size:.85rem}.section{padding:82px 0}.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:780px;margin-bottom:34px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.card,.form-card,.venue-card,.price-card,.hero-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card,.form-card,.price-card{padding:28px}.hero-card{padding:28px}.icon{width:48px;height:48px;border-radius:12px;background:#e8eefb;display:grid;place-items:center;color:var(--cobalt);font-size:1.35rem;margin-bottom:18px}.big-number{font-size:3.6rem;font-weight:950;color:var(--brass)}.muted{color:var(--muted)}.list{display:grid;gap:11px;padding:0;margin:20px 0;list-style:none}.list li{position:relative;padding-left:27px;color:#43566b}.list li:before{content:"✓";position:absolute;left:0;color:var(--cobalt);font-weight:900}.notice{padding:16px 18px;border-left:4px solid var(--brass);background:#fff9ea;border-radius:6px;color:#4f5660}.metric-strip{background:var(--brass);color:var(--navy);padding:28px 0}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.metric{display:flex;align-items:center;gap:16px;padding:8px 26px;border-right:1px solid rgba(13,27,42,.25)}.metric:last-child{border-right:0}.metric strong{display:block;font:900 2rem/1 Georgia,serif}.metric span{font-size:.84rem}.feature-venues{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.venue-card{overflow:hidden}.venue-photo{height:220px;background-position:center;background-size:cover}.venue-photo.depok{background-image:url('venue-depok.png')}.venue-photo.bogor{background-image:url('venue-bogor.png')}.venue-photo.south-jakarta{background-image:url('venue-south-jakarta.png')}.venue-body{padding:22px}.venue-body h3{margin-bottom:5px}.tag{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e8eefb;color:var(--cobalt);font-size:.75rem;font-weight:850;margin:3px}.price-card.featured{border:2px solid var(--brass)}.price{font:900 2.7rem/1.1 Georgia,serif;color:var(--navy)}.price small{font:600 1rem Inter,sans-serif;color:var(--muted)}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2f8;color:var(--cobalt);font-size:.8rem;font-weight:850}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-weight:750;color:var(--navy)}input,select,textarea{width:100%;border:1px solid #cbd5df;background:#fff;color:var(--ink);border-radius:8px;padding:13px 14px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(40,87,200,.12)}textarea{min-height:120px;resize:vertical}.form-message{margin-top:14px;padding:12px 14px;border-radius:8px;display:none}.form-message.success{display:block;background:#e8f5ef;border:1px solid #9bd8bb;color:#1c7350}.form-message.error{display:block;background:#fff0ec;border:1px solid #edaa9c;color:#9b3826}.page-hero{padding:72px 0 42px;background:var(--navy);color:#fff}.page-hero h1{color:#fff}.page-hero .eyebrow{color:var(--brass-2)}.page-hero .lead{color:#c8d3df}.steps{counter-reset:step;display:grid;gap:16px}.step{position:relative;padding:22px 22px 22px 74px;border:1px solid var(--line);border-radius:12px;background:#fff}.step:before{counter-increment:step;content:counter(step);position:absolute;left:20px;top:20px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brass);color:var(--navy);font-weight:900}.faq{display:grid;gap:12px}.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}.faq summary{cursor:pointer;font-weight:850;color:var(--navy)}.schedule{display:grid;gap:9px;margin-top:14px}.schedule-row{display:flex;justify-content:space-between;border-bottom:1px dashed #cbd5df;padding-bottom:8px}.hidden{display:none!important}.center{text-align:center}.small{font-size:.9rem}hr.sep{border:0;border-top:1px solid var(--line);margin:28px 0}
.footer{padding:54px 0 30px;border-top:1px solid rgba(255,255,255,.1);background:var(--navy);color:#dce5ef}.footer .brand-word{color:#fff}.footer .brand-domain{color:#aabacc}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:30px}.footer h4{margin:0 0 12px;color:var(--brass-2)}.footer a{display:block;color:#c6d1dd;margin:8px 0}.footer a:hover{color:#fff}.footer .muted{color:#aebccc}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding:70px 0 42px}.hero-media{min-height:580px;border-radius:0}.grid-3,.feature-venues,.footer-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--navy);padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.mobile-toggle{display:inline-flex}.metric-grid{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid rgba(13,27,42,.2);padding:16px 0}.metric:last-child{border-bottom:0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.container{width:min(var(--max),calc(100% - 24px))}.hero-copy{padding-top:54px}h1{font-size:3.25rem}.hero-media{min-height:500px}.hero-location{right:18px;bottom:20px}.nav-actions .btn-primary{display:none}.section{padding:60px 0}.footer-grid{gap:24px}}

/* Keep the hero artwork identical in both languages; longer translations must not stretch it. */
.hero-grid{align-items:start}
.hero-copy{min-height:700px}
.hero-media{height:700px;min-height:700px;align-self:start}
@media(max-width:980px){.hero-copy{min-height:0}.hero-media{height:580px;min-height:580px}}
@media(max-width:560px){.hero-media{height:500px;min-height:500px}}
.lang-toggle a{color:#bdc9d5;padding:7px 9px;border-radius:999px;font-weight:800;line-height:1.2}.lang-toggle a.active{background:var(--brass);color:var(--navy)}
.flash{margin-top:18px;padding:14px 18px;border-radius:8px}.flash ul{margin:8px 0 0}.flash-success{background:#e8f5ef;border:1px solid #9bd8bb;color:#1c7350}.flash-error{background:#fff0ec;border:1px solid #edaa9c;color:#9b3826}.empty-state{padding:42px;border:1px dashed #bdc9d5;border-radius:12px;background:#fff;text-align:center}.empty-state h3{margin-bottom:8px}

/* Member registration and authentication */
.auth-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:30px;align-items:start}.auth-aside{position:sticky;top:110px}.auth-aside h2{font-size:2rem;margin-top:18px}.field-help{font-size:.78rem;color:var(--muted);line-height:1.4}.check-field label{display:flex;gap:10px;align-items:flex-start;font-weight:600}.check-field input{width:auto;margin-top:5px}.check-field a,.text-link{color:var(--cobalt);font-weight:800}.responsible-notice{margin:22px 0}.auth-section{padding:90px 0;min-height:70vh}.auth-narrow{max-width:620px}.auth-heading{font-size:clamp(2.7rem,6vw,4.5rem);margin-top:10px}.auth-narrow form{display:grid;gap:18px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-hero.compact h1{font-size:clamp(2.8rem,5vw,4.8rem)}.verify-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.verify-card form{display:grid;gap:14px}.verify-state{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff0ec;color:#9b3826;font-size:.78rem;font-weight:900;margin-bottom:16px}.verify-state.is-verified{background:#e8f5ef;color:#1c7350}.inline-form{margin-top:16px}.text-button{padding:0;border:0;background:transparent;color:var(--cobalt);font:800 .9rem Inter,sans-serif;cursor:pointer}

/* Member account */
.member-shell{background:#f3f5f7;min-height:100vh}.member-header{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:40}.member-header-inner{min-height:78px;display:flex;align-items:center;gap:30px}.member-header .brand-logo{width:158px}.member-nav{display:flex;gap:25px;margin-left:auto}.member-nav a{font-size:.9rem;color:#dce5ef;font-weight:750}.member-nav a:hover{color:var(--brass-2)}.member-header-actions{display:flex;align-items:center;gap:14px}.member-signout{border:0;background:transparent;color:#dce5ef;font-weight:750;cursor:pointer}.member-main{min-height:calc(100vh - 78px)}.member-hero{background:var(--navy);color:#fff;padding:54px 0}.member-hero>.container{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.member-hero h1,.member-page-head h1{color:#fff;font-size:clamp(2.4rem,5vw,4.4rem);margin:8px 0 10px}.member-hero p{color:#bdc9d5;margin:0}.member-page-head{background:var(--navy);padding:44px 0 38px}.member-section{padding:38px 0 74px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dashboard-span-2{grid-column:span 2}.dashboard-card,.status-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 10px 30px rgba(13,27,42,.07)}.status-card{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:linear-gradient(135deg,#fff,#f7f9fc)}.status-card>div{display:grid;gap:3px}.status-card strong{color:var(--navy);font-size:1.05rem}.status-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:900;color:var(--muted);margin-bottom:6px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brass);margin-right:6px}.status-dot.status-active_introductory,.status-dot.status-active_regular,.status-dot.status-active_referral_reward{background:#2e9b6f}.card-top{display:flex;align-items:flex-start;justify-content:space-between}.card-top>a{font-size:1.4rem;color:var(--cobalt)}.dashboard-card .icon{margin-bottom:14px}.dashboard-card h3{margin-bottom:10px}.savings-card{background:var(--cobalt);color:#fff}.savings-card .status-label{color:#bcd0ff}.savings-card strong{font:900 2.7rem Georgia,serif}.savings-card p{font-size:.82rem;color:#dce6ff;margin-bottom:0}.compact-empty{text-align:center;padding:20px;color:var(--muted)}.compact-empty>span{font-size:2rem;color:#b5c0ca}.referral-zero{font:900 2.5rem Georgia,serif;color:var(--navy)}.referral-zero small{font:700 1rem Inter,sans-serif;color:var(--muted)}.progress{height:8px;border-radius:99px;background:#e5eaf0;overflow:hidden;margin:12px 0}.progress span{display:block;height:100%;background:var(--brass)}.notification-list{display:grid;gap:10px}.notification-item{border-left:3px solid var(--line);padding-left:12px}.notification-item.unread{border-left-color:var(--cobalt)}.notification-item p{font-size:.84rem;color:var(--muted);margin:3px 0}.member-mobile-nav{display:none}.settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px;align-items:start}.profile-summary{display:flex;align-items:center;gap:14px;margin-bottom:25px}.profile-summary img,.profile-summary>span{width:62px;height:62px;border-radius:50%;object-fit:cover;background:var(--brass);display:grid;place-items:center;color:var(--navy);font:900 1.5rem Georgia,serif}.profile-summary strong,.profile-summary small{display:block}.profile-summary small{color:var(--muted)}.login-item{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.login-item span{font-size:.8rem;color:var(--muted)}.membership-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:start}.membership-pass{min-height:330px;padding:30px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#0d1b2a,#17395d);box-shadow:0 24px 50px rgba(13,27,42,.2);display:flex;flex-direction:column;justify-content:space-between}.pass-brand{display:flex;align-items:start;justify-content:space-between;gap:20px}.pass-brand img{width:170px}.membership-pass span{display:block;font-size:.75rem;color:#b9c8d8;text-transform:uppercase;letter-spacing:.08em}.membership-pass strong{font-size:1.2rem}.pass-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}code{font-size:.78rem}.member-mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:60;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.member-mobile-nav a{display:grid;place-items:center;gap:2px;padding:9px 3px;font-size:.68rem;font-weight:800;color:var(--muted)}.member-mobile-nav span{font-size:1.2rem;color:var(--cobalt)}

@media(max-width:1050px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.member-nav{display:none}.member-header-actions{margin-left:auto}.auth-grid{grid-template-columns:1fr}.auth-aside{position:static}.settings-grid,.membership-grid{grid-template-columns:1fr}}
@media(max-width:720px){.verify-grid{grid-template-columns:1fr}.member-header{position:static}.member-header-actions .lang-toggle,.member-signout{display:none}.member-mobile-nav{display:grid}.member-main{padding-bottom:72px}.member-hero>.container{display:block}.member-hero .btn{margin-top:24px}.dashboard-grid{grid-template-columns:1fr}.dashboard-span-2{grid-column:auto}.status-card{grid-template-columns:1fr}.status-card>div{padding-bottom:12px;border-bottom:1px solid var(--line)}.status-card>div:last-child{border:0;padding:0}.member-section{padding-top:22px}.form-actions{align-items:flex-start;flex-direction:column}.pass-row{grid-template-columns:1fr}.membership-pass{min-height:380px}}

input,select,textarea{min-width:0}
@media(max-width:560px){.nav-wrap{gap:8px}.brand-logo{width:145px}.nav-actions{gap:5px}.lang-toggle a{padding:6px}.mobile-toggle{padding:9px 11px}.form-card{min-width:0;overflow:hidden}}

/* Venue partner and approval workspaces */
.venue-photo{width:100%;object-fit:cover}
.section-card{margin-top:24px}.form-end{align-self:end}.venue-metrics{grid-template-columns:repeat(3,1fr);margin:24px 0}.metric-value{display:block;font:900 2rem Georgia,serif;color:var(--navy)}.report-card{margin:24px 0}.report-card .card-top{gap:20px}.report-card .card-top>div:last-child{white-space:nowrap}.offer-links{margin-top:24px}.venue-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.venue-image-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.days-checks{display:flex;flex-wrap:wrap;gap:10px}.days-checks label{font-weight:600}.days-checks input{width:auto}.inline-actions{display:flex;gap:12px}.text-button.danger{color:#a33}.admin-review-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);gap:24px;align-items:start}.admin-action{position:sticky;top:104px}.review-list{display:grid;grid-template-columns:190px 1fr;margin:0}.review-list dt,.review-list dd{padding:10px;border-bottom:1px solid var(--line);margin:0}.review-list dt{font-weight:850;color:var(--navy)}
@media(max-width:1050px){.venue-metrics{grid-template-columns:repeat(2,1fr)}.admin-review-grid{grid-template-columns:1fr}.admin-action{position:static}.report-card .card-top{display:block}.report-card .card-top>div:last-child{margin-top:14px;white-space:normal}}
@media(max-width:650px){.venue-metrics{grid-template-columns:1fr}.review-list{grid-template-columns:1fr}.review-list dt{border-bottom:0;padding-bottom:0}.review-list dd{padding-top:2px}.venue-image-grid{grid-template-columns:1fr}}

/* Required live member photograph */
.live-photo-card{border:1px solid var(--line);border-radius:14px;background:#f7f9fc;padding:18px;overflow:hidden}.live-photo-card.is-accepted{border-color:#76bd9c;background:#f0faf5}.camera-stage{width:min(100%,520px);aspect-ratio:1;margin:auto;background:var(--navy);border-radius:12px;overflow:hidden;display:grid;place-items:center}.camera-stage video,.camera-stage img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-stage img{transform:none}.camera-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}.camera-status{text-align:center;font-weight:750;color:var(--ink)}.camera-qr{display:grid;grid-template-columns:1fr 180px;gap:20px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.camera-qr img{width:180px;height:180px;background:#fff;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
@media(max-width:720px){.camera-qr{display:none}.live-photo-card{padding:12px}.camera-stage{width:100%}}
.venue-map-picker{height:420px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e9eef3;z-index:0}.venue-map-pin{width:28px;height:28px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--gold);box-shadow:0 3px 10px rgba(13,27,46,.35);transform:rotate(-45deg)}.venue-map-pin::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--navy);left:7px;top:7px}.leaflet-div-icon.venue-map-marker{border:0;background:transparent}.leaflet-control-attribution{font-size:10px}@media(max-width:720px){.venue-map-picker{height:330px}}

/* Phase 4 venue discovery */
.discovery-section{padding-top:38px}.discovery-filter{margin-bottom:34px}.discovery-grid{grid-template-columns:repeat(4,1fr)}.discovery-grid .full{grid-column:1/-1}.discovery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:18px}.discovery-actions .check-field{margin-right:auto}.discovery-actions .check-field input{width:auto}.result-heading{display:flex;align-items:end;justify-content:space-between;margin:32px 0 18px}.result-heading h2{margin-bottom:4px}.discovery-card{display:flex;flex-direction:column}.discovery-card .venue-body{display:flex;flex:1;flex-direction:column}.discovery-card .venue-body>p.muted{flex:1}.venue-photo-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#eef2f8,#dce4ef);color:var(--navy);font:900 1.4rem Georgia,serif}.card-meta,.card-actions,.place-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.card-meta{justify-content:space-between;margin-bottom:10px}.card-actions{margin-top:18px}.card-actions form{margin-left:auto}.branch-name{font-weight:800;color:var(--cobalt);margin:-2px 0 10px}.availability{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:900;background:#eef2f8;color:#4b5d71}.availability:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:7px}.availability-available{background:#e5f6ee;color:#18754e}.availability-paused,.availability-blackout{background:#fff2dd;color:#8a5615}.availability-no_drinks,.availability-unavailable{background:#f8e8e5;color:#9b3826}.availability-next{font-size:.84rem;color:var(--cobalt);font-weight:750}.favourite-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#9aa8b7;font-size:1.2rem;cursor:pointer}.favourite-button.is-saved{background:#fff0ec;color:#b64332;border-color:#f0b5a9}.pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}.pagination a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-weight:850;background:#fff}.pagination a.active{background:var(--navy);color:#fff}.place-status-row{color:#d5dfeb}.place-actions-card{position:sticky;top:106px}.availability-panel{padding:16px;border-radius:10px;background:#f3f5f7;margin-bottom:16px}.availability-panel p{margin:7px 0 0}.availability-panel-available{background:#e5f6ee;color:#18754e}.availability-panel-paused,.availability-panel-blackout{background:#fff2dd;color:#7d4e14}.visit-actions{display:grid;gap:10px;margin-bottom:12px}.venue-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.venue-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.favourite-list{display:grid;gap:8px}.favourite-list a{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.favourite-list span{color:var(--muted);font-size:.84rem;text-align:right}
@media(max-width:1050px){.discovery-grid{grid-template-columns:repeat(2,1fr)}.place-actions-card{position:static}}
@media(max-width:650px){.discovery-grid{grid-template-columns:1fr}.discovery-grid .full{grid-column:auto}.discovery-actions{align-items:stretch}.discovery-actions .check-field{width:100%}.discovery-actions .btn{flex:1}.venue-gallery{grid-template-columns:1fr}.card-actions .favourite-button{margin-left:0}}

/* Phase 5 redemption workflow */
.settings-grid>*,.redemption-member-grid>*{min-width:0}.table-wrap{max-width:100%}
.member-mobile-nav-5{grid-template-columns:repeat(5,1fr)}.redemption-member-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}.redemption-qr-card{text-align:center}.redemption-qr-card .card-top{text-align:left}.redemption-qr{width:min(100%,320px);aspect-ratio:1;margin:10px auto;background:#fff;border:10px solid #fff;border-radius:12px}.qr-countdown{font-size:1.05rem;color:var(--navy)}.redemption-code{display:block;overflow-wrap:anywhere;text-align:left;padding:12px;background:#eef2f8;border-radius:8px;margin-top:8px}.redemption-list{display:grid}.redemption-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.redemption-list strong,.redemption-list span{display:block}.redemption-list span{font-size:.8rem;color:var(--muted)}.redemption-list .pill{color:var(--cobalt);white-space:nowrap}.redemption-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.redemption-totals>div{padding:14px;background:#f3f5f7;border-radius:10px}.redemption-totals span,.redemption-totals strong{display:block}.redemption-totals span{font-size:.72rem;color:var(--muted);text-transform:uppercase;font-weight:850}.redemption-totals strong{margin-top:5px;color:var(--navy)}.progress-list{list-style:none;padding:0;display:grid;gap:12px}.progress-list li{position:relative;padding-left:30px;color:var(--muted)}.progress-list li:before{content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border:2px solid #bbc5cf;border-radius:50%}.progress-list li.done{color:var(--navy);font-weight:800}.progress-list li.done:before{content:"✓";display:grid;place-items:center;background:#2e9b6f;border-color:#2e9b6f;color:#fff;font-size:.7rem}.scanner-card{display:grid;gap:16px}.scanner-stage{aspect-ratio:4/3;width:100%}.scanner-stage video{transform:none}.identity-profile{display:flex;align-items:center;gap:22px;padding:18px;background:#f3f5f7;border-radius:12px;margin-bottom:20px}.identity-profile img{width:150px;height:150px;object-fit:cover;border-radius:12px}.identity-check form{display:grid;gap:14px}.identity-check .check-field{display:flex;gap:10px}.identity-check .check-field input{width:auto}.availability-disputed{background:#fff2dd;color:#8a5615}
@media(max-width:950px){.redemption-member-grid{grid-template-columns:1fr}.redemption-totals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.identity-profile{align-items:flex-start;flex-direction:column}.identity-profile img{width:120px;height:120px}.redemption-totals{grid-template-columns:1fr 1fr}.member-mobile-nav-5 a{font-size:.58rem}}
@media(max-width:720px){.member-header-actions .lang-toggle{display:inline-flex}}

/* Phase 6 referral rewards */
.member-mobile-nav-6{grid-template-columns:repeat(6,1fr)}.referral-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.referral-main{min-width:0}.referral-share-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center}.referral-link{display:flex;gap:10px}.referral-link input{min-width:0}.referral-qr{width:180px;height:180px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px}.referral-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.referral-metrics strong,.referral-balance strong{font:900 2rem Georgia,serif;color:var(--navy)}.referral-balance{position:sticky;top:102px;display:grid;gap:18px}.referral-balance>div{padding-bottom:16px;border-bottom:1px solid var(--line)}.referral-balance>div:last-child{padding:0;border:0}.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.tier-grid span{padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:.82rem;font-weight:800}.tier-grid span.reached{background:#e5f6ee;border-color:#9bd8bb;color:#18754e}.report-filter{margin-bottom:24px}
@media(max-width:980px){.referral-layout{grid-template-columns:1fr}.referral-balance{position:static;grid-template-columns:repeat(4,1fr)}.referral-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.referral-share-card{grid-template-columns:1fr}.referral-link{align-items:stretch;flex-direction:column}.referral-qr{margin:auto}.referral-balance{grid-template-columns:repeat(2,1fr)}.tier-grid{grid-template-columns:1fr}.member-mobile-nav-6 a{font-size:.52rem}.member-mobile-nav-6 span{font-size:1rem}}

/* Phase 7 administration and verified reviews */
.admin-shell .member-header{position:static}.admin-shell .member-header-inner{min-height:70px}.admin-nav{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:12px;scrollbar-width:thin}.admin-nav a{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:7px;color:#dce5ef;font-size:.76rem;font-weight:800}.admin-nav a:hover{border-color:var(--brass);color:var(--brass-2)}.admin-metrics{grid-template-columns:repeat(4,1fr)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card{display:grid;gap:9px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.metric-card span{font-size:.76rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.metric-card strong{font:900 1.8rem Georgia,serif;color:var(--navy)}.admin-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-content-grid textarea{min-height:130px}.audit-context{max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#f3f5f7;border-radius:8px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-card{padding:22px}.review-stars{color:#c88f1d;letter-spacing:.08em}.review-images{display:flex;gap:10px;overflow-x:auto;margin-top:16px}.review-images img{width:150px;height:110px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
@media(max-width:1000px){.admin-metrics,.metrics-grid{grid-template-columns:repeat(2,1fr)}.admin-content-grid{grid-template-columns:1fr}}
@media(max-width:650px){.admin-shell .member-header-inner>strong{display:none}.admin-nav{padding-left:18px;padding-right:18px}.admin-metrics,.metrics-grid,.review-grid{grid-template-columns:1fr}.review-images img{width:120px;height:90px}}
