:root{
  --cream:#f4efe5;
  --paper:#fbf8f0;
  --paper-2:#efe6d7;
  --sage:#697a61;
  --sage-dark:#4d5e49;
  --olive:#78815e;
  --forest:#26382c;
  --ink:#2d2b28;
  --muted:#746f67;
  --clay:#a45e43;
  --rust:#8f4d35;
  --gold:#b08a4c;
  --line:#d9cfbf;
  --white:#fffdf8;
  --success:#416747;
  --warning:#986d22;
  --danger:#9a443b;
  --shadow:0 18px 55px rgba(58,48,35,.12);
  --shadow-soft:0 8px 26px rgba(58,48,35,.08);
  --radius:22px;
  --serif:"Libre Baskerville", Georgia, serif;
  --sans:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.hidden{display:none!important}
.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}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,64px);background:rgba(244,239,229,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(154,136,110,.18)}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--forest);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}.brand-mark img{width:100%;height:100%;display:block}
.brand strong{display:block;font:700 15px var(--serif);letter-spacing:.01em}
.brand span{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.main-nav{display:flex;align-items:center;gap:22px;font-weight:600;font-size:14px}
.main-nav a:not(.nav-pill):hover{color:var(--sage-dark)}
.nav-pill{background:var(--sage);color:var(--white);padding:10px 15px;border-radius:999px}
.menu-button{display:none;border:1px solid var(--line);background:var(--paper);padding:9px 12px;border-radius:12px}
.view{min-height:65vh}
.hero{position:relative;overflow:hidden;min-height:640px;display:grid;align-items:end;background:
  linear-gradient(90deg,rgba(25,39,29,.86),rgba(25,39,29,.48) 54%,rgba(25,39,29,.24)),
  radial-gradient(circle at 75% 25%,rgba(240,226,194,.18),transparent 26%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px),
  #3e5542;
  color:var(--white)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(25,39,29,.22));pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:1200px;width:100%;margin:auto;padding:82px clamp(20px,6vw,86px) 72px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr);gap:44px;align-items:end}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:#d8d5bc}
.hero h1,.section-title,h1,h2,h3{font-family:var(--serif);line-height:1.14}
.hero h1{font-size:clamp(48px,7vw,86px);max-width:780px;margin:10px 0 20px;font-weight:700}
.hero p{max-width:660px;font-size:18px;color:#f0eee5}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.event-card{background:rgba(253,249,240,.95);color:var(--ink);padding:24px;border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.42)}
.event-date{font:700 36px var(--serif);margin:8px 0}.event-card .theme{font-weight:700;color:var(--sage-dark);margin-bottom:10px}.event-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.event-meta div{padding:10px 12px;border-radius:14px;background:var(--cream)}.event-meta small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.event-meta strong{font-size:14px}
.button{appearance:none;border:0;border-radius:999px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s ease;white-space:nowrap}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--clay);color:white;box-shadow:0 9px 20px rgba(143,77,53,.18)}
.button-sage{background:var(--sage);color:white}.button-ink{background:var(--forest);color:white}.button-paper{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.button-outline{background:transparent;color:inherit;border:1px solid currentColor}.button-danger{background:var(--danger);color:white}.button-small{padding:9px 13px;font-size:13px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.section{padding:76px clamp(20px,6vw,86px)}
.section-inner{max-width:1200px;margin:auto}
.section-soft{background:var(--paper-2)}
.section-dark{background:var(--forest);color:var(--white)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.section-head p{max-width:590px;color:var(--muted);margin:0}.section-dark .section-head p{color:#c8d0c6}
.section-title{font-size:clamp(30px,4vw,48px);margin:4px 0}
.kicker{color:var(--clay);font-weight:700;text-transform:uppercase;letter-spacing:.13em;font-size:11px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-soft)}
.card h3{margin:0 0 8px;font-size:21px}.card p{color:var(--muted);margin:0}
.vendor-card{position:relative;overflow:hidden;min-height:200px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.vendor-card:before{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:rgba(105,122,97,.08)}.vendor-card .category{color:var(--clay);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.vendor-card .vendor-name{font:700 22px var(--serif);margin-top:8px}.vendor-card .vendor-desc{color:var(--muted);font-size:14px;margin:8px 0 14px}.vendor-card .social{font-size:12px;color:var(--sage-dark);font-weight:700}
.empty-state{padding:30px;border:1px dashed #c9bcaa;border-radius:20px;background:rgba(255,255,255,.35);text-align:center;color:var(--muted)}
.timeline{display:grid;gap:12px}.lineup-item{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16)}.lineup-item:last-child{border-bottom:0}.lineup-item time{font-family:var(--serif);font-weight:700;color:#e5cf9a}.lineup-item strong{display:block}.lineup-item span{color:#c8d0c6;font-size:14px}
.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:230px 180px;gap:12px}.gallery-placeholder{border-radius:20px;display:flex;align-items:end;padding:18px;color:white;font-family:var(--serif);background:linear-gradient(145deg,#65765d,#38493b);overflow:hidden;position:relative}.gallery-placeholder:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 3px,transparent 3px 13px)}.gallery-placeholder:first-child{grid-row:1/3}.gallery-placeholder:nth-child(2){background:linear-gradient(145deg,#a56a4e,#76513f)}.gallery-placeholder:nth-child(3){background:linear-gradient(145deg,#928467,#5e5949)}.gallery-placeholder:nth-child(4){grid-column:2/4;background:linear-gradient(145deg,#758069,#4d5e49)}.gallery-placeholder span{position:relative;z-index:2}
.visit-panel{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.visit-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fact{background:var(--paper);border:1px solid var(--line);padding:17px;border-radius:16px}.fact small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px}.fact strong{font-family:var(--serif)}
.contact-route{min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.contact-route .icon{font-size:28px}.contact-route .button{align-self:flex-start}
.site-footer{padding:44px clamp(20px,6vw,86px);background:#1e2d23;color:#f4efe5;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.site-footer p{color:#cbd2c9;margin:7px 0}.site-footer small{grid-column:1/-1;color:#aeb9ad}.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.toast{position:fixed;left:50%;top:50%;right:auto;bottom:auto;z-index:1000;background:var(--forest);color:white;padding:14px 18px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translate(-50%,-50%) scale(.96);pointer-events:none;transition:.2s;text-align:center;max-width:min(420px,calc(100vw - 36px))}.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.portal-shell{max-width:1240px;margin:auto;padding:32px clamp(16px,4vw,54px) 70px}.portal-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.portal-top h1{margin:4px 0}.portal-sub{color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:280px 1fr;gap:20px}.side-panel{background:var(--forest);color:var(--white);padding:18px;border-radius:22px;height:max-content;position:sticky;top:92px}.side-panel button{width:100%;text-align:left;border:0;background:transparent;color:#dce3da;padding:11px 12px;border-radius:12px;font-weight:700}.side-panel button.active,.side-panel button:hover{background:rgba(255,255,255,.1);color:#fff}.side-panel hr{border:0;border-top:1px solid rgba(255,255,255,.13);margin:12px 0}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft)}.panel + .panel{margin-top:16px}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.panel-head h2{font-size:25px;margin:0}.panel-head p{color:var(--muted);margin:3px 0 0}
.notice{border-left:4px solid var(--sage);padding:14px 16px;background:#edf1e9;border-radius:0 14px 14px 0}.notice.warning{border-color:var(--gold);background:#f6efdf}.notice.danger{border-color:var(--danger);background:#f7e8e5}.notice strong{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:13px}.field .hint{color:var(--muted);font-size:12px}.field input,.field textarea,.field select{width:100%;border:1px solid #cfc3b2;background:#fffefa;color:var(--ink);border-radius:13px;padding:12px 13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(105,122,97,.12)}.field textarea{min-height:110px;resize:vertical}
.status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;background:#ece8df;color:#5b574f}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#8a8275}.status.success{background:#e5efe3;color:#35583a}.status.success:before{background:#4f7b55}.status.warning{background:#f7edda;color:#76551d}.status.warning:before{background:#b18634}.status.danger{background:#f4e4e2;color:#843f37}.status.danger:before{background:#a74f46}.status.info{background:#e7ece7;color:#4a5b4b}.status.info:before{background:#6e806b}
.market-week-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.week-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fffefa;display:grid;gap:12px}.week-card .week-date{font:700 22px var(--serif)}.week-card .week-theme{color:var(--sage-dark);font-weight:700}.week-card .week-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.week-card .week-actions{display:flex;gap:8px;flex-wrap:wrap}
.calendar-list{display:grid;gap:10px}.calendar-row{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.calendar-row:last-child{border-bottom:0}.calendar-row .date{font-family:var(--serif);font-weight:700}.calendar-row small{display:block;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:760px;background:#fffefa}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid #e6ded2;text-align:left;font-size:13px}.data-table th{background:#efe8dc;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#645d54}.data-table tr:last-child td{border-bottom:0}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{border:1px solid var(--line);background:#fffefa;border-radius:16px;padding:15px}.metric small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.metric strong{font:700 27px var(--serif)}
.bright-help{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#687a60,#8c8d62);color:white;border:0;padding:22px;border-radius:20px;box-shadow:var(--shadow-soft)}.bright-help h3{margin:0 0 5px}.bright-help p{margin:0;color:#eef2ea}.bright-help .button{background:#fff8e9;color:#314030}
.poster-preview{aspect-ratio:1/1;background:linear-gradient(150deg,#475b49,#8d7650);color:white;border-radius:20px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.poster-preview:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 25%),repeating-linear-gradient(35deg,rgba(255,255,255,.025) 0 2px,transparent 2px 12px)}.poster-preview>*{position:relative;z-index:2}.poster-preview h3{font-size:30px;margin:0}.poster-preview .vendor-title{font:700 34px var(--serif)}
.app-dialog{border:0;border-radius:24px;padding:0;max-width:min(680px,calc(100vw - 28px));width:100%;box-shadow:0 25px 80px rgba(0,0,0,.3);background:var(--paper);color:var(--ink)}.app-dialog::backdrop{background:rgba(23,27,23,.55);backdrop-filter:blur(3px)}.dialog-inner{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.dialog-head h2{margin:0}.dialog-close{border:0;background:#eee6da;border-radius:50%;width:34px;height:34px;font-weight:800}
.auth-card{max-width:580px;margin:70px auto;background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:32px;text-align:center;box-shadow:var(--shadow)}.auth-card h1{font-size:34px}.google-button{background:white;border:1px solid var(--line);border-radius:999px;padding:12px 18px;font-weight:700;display:inline-flex;gap:10px;align-items:center}.google-dot{width:18px;height:18px;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0)}
.discovery-shell{max-width:760px;margin:44px auto;padding:0 18px 70px}.discovery-card{background:var(--paper);border:1px solid var(--line);padding:28px;border-radius:26px;box-shadow:var(--shadow)}.discovery-progress{height:9px;background:#e7ded0;border-radius:20px;overflow:hidden;margin-bottom:20px}.discovery-progress div{height:100%;background:var(--sage)}.lang-buttons,.answer-mode-buttons,.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice{border:1px solid var(--line);background:#fffefa;padding:12px 14px;border-radius:14px;font-weight:700}.choice.selected{border-color:var(--sage);background:#e8efe4}.voice-box{border:1px dashed #baa98f;background:#f7f1e6;padding:16px;border-radius:16px;margin-top:12px}.voice-box audio{width:100%;margin-top:10px}
.quest-admin{border:1px dashed #b9a98f;padding:18px;border-radius:18px;background:#f8f0e2}.beta{display:inline-block;background:#2f4835;color:white;padding:4px 8px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr;align-items:end}.event-card{max-width:520px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.side-panel{position:static;display:flex;gap:5px;overflow:auto}.side-panel button{min-width:max-content}.side-panel hr{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-header{padding:11px 15px}.main-nav{position:absolute;top:70px;left:12px;right:12px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.open{display:flex}.menu-button{display:block}.brand span{display:none}.hero{min-height:620px}.hero-inner{padding:64px 20px 46px}.hero h1{font-size:50px}.section{padding:58px 18px}.section-head{align-items:start;flex-direction:column}.grid-3,.grid-2,.grid-4,.visit-panel{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:200px 150px 150px 150px}.gallery-placeholder:first-child,.gallery-placeholder:nth-child(4){grid-row:auto;grid-column:auto}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.market-week-grid{grid-template-columns:1fr}.calendar-row{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.bright-help{grid-template-columns:1fr}.event-meta{grid-template-columns:1fr 1fr}.lineup-item{grid-template-columns:80px 1fr}
}
@media(max-width:420px){.hero h1{font-size:42px}.metric-grid{grid-template-columns:1fr}.event-meta{grid-template-columns:1fr}.brand strong{font-size:13px}}

/* v0.71 */
.market-countdown{margin:16px 0 4px;padding:14px;border-radius:16px;background:#f5efe2;border:1px solid #ded2bf}
.market-countdown>small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800;margin-bottom:8px}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.countdown-unit{background:#fffefa;border:1px solid #e0d6c8;border-radius:12px;padding:8px 5px;text-align:center}
.countdown-unit strong{display:block;font:700 22px var(--serif);color:var(--forest)}
.countdown-unit span{display:block;margin-top:2px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.profile-section-title{grid-column:1/-1;margin:7px 0 -2px;padding-top:10px;border-top:1px solid var(--line)}
.profile-section-title:first-child{border-top:0;padding-top:0}
.profile-section-title h3{margin:0;font-size:20px}.profile-section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}
.poster-disclaimer{margin-bottom:16px}
.poster-state{display:inline-block;margin-top:10px;padding:5px 9px;border-radius:999px;background:#f5efe2;color:var(--brown);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.personal-prompt{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;border-radius:16px;background:#fff8e9;border:1px solid #e7d5ad;margin-bottom:16px}
@media(max-width:600px){.countdown-grid{grid-template-columns:repeat(2,1fr)}.personal-prompt{align-items:flex-start;flex-direction:column}}

.super-user-nav{background:#8a6c35!important;color:#fff!important;box-shadow:0 4px 12px rgba(80,60,25,.16)}

.admin-business-manager .panel{box-shadow:none}.admin-business-manager .data-table small{color:var(--muted)}

.booking-quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.booking-quick-filters .button.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.booking-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;background:#f5efe4;border:1px solid var(--line);border-radius:16px;margin-bottom:10px}
.booking-filter-grid .field{margin:0}
.booking-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 14px}
@media(max-width:900px){.booking-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.booking-filter-grid{grid-template-columns:1fr}}


/* v0.75.0A candidate — brand, vendor operations & finance */
.header-wordmark{width:190px;max-height:42px;object-fit:contain;object-position:left center;mix-blend-mode:multiply}.hero-wordmark{width:min(440px,75vw);max-height:120px;object-fit:contain;object-position:left center;border-radius:12px;margin-bottom:18px;filter:saturate(.9)}
.vendor-card{border-top:5px solid var(--vendor-accent,var(--sage))}.vendor-logo{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#fff;padding:4px;margin-bottom:12px}.vendor-tagline{font:700 13px var(--serif);color:var(--sage-dark);margin-top:5px}.contact-strip{display:flex;flex-wrap:wrap;gap:9px}.contact-strip a{border:1px solid var(--line);background:#fffefa;border-radius:999px;padding:9px 13px;font-weight:700;font-size:13px;color:var(--forest);overflow-wrap:anywhere}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payment-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-details.compact{margin-top:10px}.payment-details>div,.booking-readonly>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fffefa}.payment-details small,.booking-readonly small,.eft-reference small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.payment-details strong,.booking-readonly strong,.eft-reference strong{display:block;margin-top:2px;overflow-wrap:anywhere}.copy-link{border:0;background:transparent;color:var(--sage-dark);font-weight:800;padding:4px 0;text-decoration:underline}.eft-reference{margin-top:12px;border:1px solid var(--gold);background:#fff8e9;border-radius:14px;padding:12px}.booking-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.status-guide{display:grid;gap:12px}.status-guide>div{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:10px}.status-guide>div:last-child{border-bottom:0}.status-guide p{margin:0;color:var(--muted)}.finance-metrics{grid-template-columns:repeat(3,1fr)}.footer-contact{font-size:13px;overflow-wrap:anywhere}
@media(max-width:760px){.header-wordmark{width:145px}.brand span{display:none}.hero-wordmark{width:min(360px,82vw)}.info-grid,.payment-details,.booking-readonly{grid-template-columns:1fr}.status-guide{gap:16px}.status-guide>div{grid-template-columns:1fr;gap:7px}.finance-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.finance-metrics{grid-template-columns:1fr}.header-wordmark{width:125px}}

/* v0.76.0A — Experience Revamp */
.header-wordmark{mix-blend-mode:normal;background:transparent;border-radius:0;max-width:190px;height:auto;object-fit:contain}
.brand{gap:10px}.brand-mark{background:transparent;box-shadow:none;border-radius:12px}.brand-mark img{object-fit:contain}
.experience-hero{background:linear-gradient(135deg,#1f3328 0%,#334937 54%,#443b2f 100%);color:#fff;position:relative;overflow:hidden}
.experience-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 10%,rgba(214,190,137,.18),transparent 26%),repeating-linear-gradient(120deg,rgba(255,255,255,.018) 0 2px,transparent 2px 18px);pointer-events:none}
.experience-hero-inner{position:relative;max-width:1240px;margin:auto;padding:clamp(54px,8vw,92px) clamp(18px,5vw,64px) 62px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:42px;align-items:end}
.hero-copy h1{font-size:clamp(45px,7vw,84px);max-width:820px;margin:10px 0 18px}.hero-lead{font-size:clamp(17px,2vw,21px);max-width:720px;color:#e9e7df;margin:0}.hero-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;color:#f2eadc;font-weight:650}.hero-facts span{display:inline-flex;align-items:center;gap:6px}.weekly-programme{background:rgba(251,248,240,.96);color:var(--ink);border:1px solid rgba(255,255,255,.28);box-shadow:0 26px 65px rgba(0,0,0,.22);border-radius:24px;padding:20px}.programme-row{display:grid;grid-template-columns:64px 1fr;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.programme-row:last-of-type{border-bottom:0}.programme-row time{font-weight:850;color:var(--clay);font-size:12px}.programme-row strong{display:block}.programme-row small{display:block;color:var(--muted);margin-top:2px}.market-countdown.dark{background:#24372b;border-color:#3f5344;color:#fff}.market-countdown.dark>small{color:#cbd7cc}.market-countdown.dark .countdown-unit{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}.market-countdown.dark .countdown-unit strong{color:#fff}.market-countdown.dark .countdown-unit span{color:#cfdbd0}
.section-head.tight{margin-bottom:18px}.photo-band{padding:48px 0}.photo-band .section-inner{padding:0 clamp(18px,5vw,64px)}.market-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(18px,calc((100vw - 1240px)/2)) 18px;scrollbar-width:thin;overscroll-behavior-x:contain}.market-photo{flex:0 0 min(760px,78vw);height:clamp(260px,42vw,480px);object-fit:cover;border-radius:24px;scroll-snap-align:start;box-shadow:var(--shadow-soft);border:1px solid rgba(68,56,43,.12)}.photo-awaiting{min-height:260px;border:1px dashed #b9a989;border-radius:22px;background:linear-gradient(140deg,#e9dfcf,#f7f2e8);display:grid;place-items:center;text-align:center;padding:28px;color:var(--muted)}
.vendor-uniform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vendor-card-v2{appearance:none;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-soft);color:var(--ink);transition:.18s ease;min-width:0}.vendor-card-v2:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.vendor-card-image,.vendor-card-fallback{width:100%;aspect-ratio:4/3;object-fit:cover;background:#d8ddcf}.vendor-card-fallback{display:grid;place-items:center;font:700 clamp(38px,5vw,64px) var(--serif);color:#fff;background:linear-gradient(145deg,#405443,#7b8061)}.vendor-card-body{padding:15px;min-height:156px;display:flex;flex-direction:column}.vendor-card-name{font:700 20px var(--serif);margin-bottom:5px}.vendor-card-what{font-weight:750;color:var(--sage-dark);font-size:13px}.vendor-card-tagline{color:var(--muted);font-size:13px;margin-top:8px;font-style:italic}.public-vendor-profile{display:grid;gap:18px}.vendor-profile-hero{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}.vendor-profile-hero>img{width:160px;height:160px;object-fit:cover;border-radius:20px}.vendor-profile-hero h3{font-size:32px;margin:3px 0}.vendor-profile-hero p{margin:6px 0;color:var(--muted)}.vendor-photo-strip{display:flex;gap:10px;overflow:auto}.vendor-photo-strip img{width:170px;height:130px;object-fit:cover;border-radius:14px}.vendor-profile-section{border-top:1px solid var(--line);padding-top:15px}.vendor-profile-section h3{margin:0 0 9px}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 10px;border-radius:999px;background:#edf1e8;border:1px solid #d6dfcf;font-size:12px;font-weight:750;color:#3c533e}
.simple-nav{display:grid;gap:4px}.simple-nav button{text-align:left}.vendor-dashboard-hero{background:linear-gradient(135deg,#213428,#3e533e);color:#fff;border:0}.vendor-dashboard-hero p{color:#d9e1da}.vendor-ready-banner{padding:16px;border-radius:16px;margin:14px 0;font-weight:750}.vendor-ready-banner.success{background:#e9f1e8;color:#365b3c;border:1px solid #c8ddc8}.vendor-ready-banner.warning{background:#fff5df;color:#7f5b18;border:1px solid #ead6aa}.vendor-ready-banner.danger{background:#f7e7e3;color:#823b33;border:1px solid #e5c1ba}.obligation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.obligation{border:1px solid var(--line);padding:13px;border-radius:14px;background:#fffefa}.obligation strong{display:block}.obligation small{display:block;color:var(--muted);margin-top:3px}.obligation.success{border-left:5px solid var(--success)}.obligation.warning{border-left:5px solid #d49c36}.obligation.danger{border-left:5px solid var(--danger)}.current-booking-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.current-booking-facts>div{background:#fffefa;border:1px solid var(--line);border-radius:14px;padding:12px}.current-booking-facts small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.primary-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.action-tile{appearance:none;text-align:left;border:1px solid var(--line);background:#fffefa;border-radius:18px;padding:17px;min-height:120px;color:var(--ink)}.action-tile strong{display:block;font:700 19px var(--serif)}.action-tile span{display:block;color:var(--muted);margin-top:5px;font-size:13px}
.check-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:#fffefa;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.check-chip input{width:auto;margin:0}.asset-thumb{width:100px;height:100px;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:#fff;margin:5px 0 8px}.asset-thumb.wide{width:160px;height:100px;object-fit:cover}.mini-gallery{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.mini-gallery img{width:84px;height:70px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.stall-selection-label{font-weight:750;margin:0 0 10px}.stall-map-wrap{border:1px solid var(--line);border-radius:20px;background:#e9e4d9;padding:10px;overflow:hidden}.stall-map{position:relative;aspect-ratio:1.45/1;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:14px;min-height:420px}.stall-pin{position:absolute;transform:translate(-50%,-50%);min-width:30px;height:30px;border-radius:999px;border:2px solid #fff;background:#4d6c4e;color:#fff;font-size:10px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.25);padding:0 5px}.stall-pin:hover{transform:translate(-50%,-50%) scale(1.12)}.stall-pin.selected{background:#b37e25;outline:4px solid rgba(179,126,37,.28)}.stall-pin.occupied{background:#9a443b;font-size:20px;cursor:not-allowed;opacity:.92}.stall-map-legend{display:flex;gap:16px;flex-wrap:wrap;padding:9px 3px 2px;font-size:12px}.stall-map-legend span{display:flex;align-items:center;gap:6px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block}.dot.free{background:#4d6c4e}.dot.selected{background:#b37e25}.dot.occupied{background:#9a443b}
.date-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:370px;overflow:auto}.date-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:#fffefa;border-radius:14px;padding:12px}.date-check input{width:auto;margin-top:4px}.date-check strong,.date-check small{display:block}.date-check small{color:var(--muted)}.button-disabled{background:#d4d1cb!important;color:#777!important;box-shadow:none!important}.payment-details .wide{grid-column:1/-1}.poster-v2-preview{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:22px;background:#26382c;max-width:520px}.poster-v2-preview>img{width:100%;height:100%;object-fit:cover}.poster-v2-preview:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(16,27,20,.92))}.poster-v2-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px;color:#fff}.poster-v2-overlay h3{font-size:34px;margin:5px 0}.poster-v2-overlay p{color:#e7e3d9}.poster-v2-overlay .kicker{color:#e3c990}
.myzeiss-shell{max-width:1180px;margin:auto;padding:42px clamp(18px,5vw,58px) 72px}.myzeiss-profile{background:linear-gradient(135deg,#1f3429,#4c5b45);color:#fff;border-radius:26px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.my-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;background:#efe6d7;border:4px solid rgba(255,255,255,.82)}.qr-arrival{margin-top:16px;background:#fff7df;border:1px solid #e4ce97;color:#5e4c20;border-radius:18px;padding:16px}.myzeiss-metrics{margin:16px 0}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attendance-badge{border:1px solid var(--line);background:#fffefa;border-radius:18px;padding:14px;text-align:center}.badge-medallion{width:76px;height:76px;margin:0 auto 8px;border-radius:50%;background:linear-gradient(145deg,#496149,#bd9c59);display:grid;place-items:center;color:white;font:700 24px var(--serif);overflow:hidden}.badge-medallion img{width:100%;height:100%;object-fit:cover}.attendance-badge strong,.attendance-badge small{display:block}.attendance-badge small{color:var(--muted)}.sticker-book{display:grid;gap:18px}.sticker-page{background:#eee4d2;border:1px solid #d0c1a9;border-radius:18px;padding:16px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.28)}.sticker-page-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.sticker-page-head strong,.sticker-page-head small{display:block}.sticker-page-head small{color:var(--muted)}.sticker-mini-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.mini-sticker{aspect-ratio:1;border-radius:9px;display:grid;place-items:center;overflow:hidden;border:1px solid #c9baa2;background:#d5cab8;color:#8c8171;font-size:10px;font-weight:850}.mini-sticker.owned{background:#fff}.mini-sticker.owned img{width:100%;height:100%;object-fit:cover}.mini-sticker.missing{filter:grayscale(1);background:#bdb6aa;color:#5a5752}.mini-sticker.gold{outline:3px solid #c29b43}
.admin-shell{max-width:1480px}.command-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-command-hero{border-top:5px solid var(--sage-dark)}.attention-list{display:grid;gap:9px}.attention-row{appearance:none;width:100%;border:1px solid var(--line);border-left-width:6px;border-radius:15px;padding:13px 15px;background:#fffefa;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left}.attention-row span strong,.attention-row span small{display:block}.attention-row span small{color:var(--muted);margin-top:2px}.attention-row.danger{border-left-color:var(--danger);background:#fff8f6}.attention-row.warning{border-left-color:#d69c30;background:#fffaf0}.attention-row.success{border-left-color:var(--success);background:#f5faf4}.admin-booking-list{display:grid;gap:10px}.admin-booking-row{border:1px solid var(--line);border-left:6px solid #aaa;border-radius:16px;background:#fffefa;padding:14px;display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(350px,1.5fr) auto;gap:14px;align-items:center}.admin-booking-row.danger{border-left-color:var(--danger)}.admin-booking-row.warning{border-left-color:#d69c30}.admin-booking-row.success{border-left-color:var(--success)}.admin-booking-title strong,.admin-booking-title span{display:block}.admin-booking-title strong{font:700 18px var(--serif)}.admin-booking-title span{color:var(--muted);font-size:12px}.admin-booking-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.admin-booking-meta span{font-size:11px;background:#f0ebe1;border-radius:999px;padding:4px 8px}.admin-booking-meta .overlap-flag{background:#fff0dd;color:#815719;font-weight:800}.admin-booking-states{display:flex;flex-wrap:wrap;gap:6px}.state-pill{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px;background:#ece8e0}.state-pill.success{background:#e7f1e6;color:#355d3d}.state-pill.warning{background:#fff0d4;color:#765314}.state-pill.danger{background:#f6dfda;color:#813c35}.state-pill.neutral{background:#ece8e0;color:#666}.admin-booking-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.vendor-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vendor-directory-card{appearance:none;border:1px solid var(--line);background:#fffefa;border-radius:16px;padding:12px;display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;text-align:left;color:var(--ink)}.vendor-directory-card:hover{border-color:#9fa990}.vendor-directory-avatar{width:58px;height:58px;border-radius:14px;background:#455c48;color:#fff;display:grid;place-items:center;font:700 22px var(--serif);overflow:hidden}.vendor-directory-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}.vendor-directory-card strong,.vendor-directory-card small,.vendor-directory-card em{display:block}.vendor-directory-card small{color:var(--muted)}.vendor-directory-card em{font-style:normal;color:var(--sage-dark);font-size:11px;margin-top:3px}.checkbox-field{display:flex;align-items:end}.checkbox-field label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fffefa;width:100%}.checkbox-field input{width:auto}.sticker-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sticker-admin-card{appearance:none;border:1px solid var(--line);border-radius:16px;background:#fffefa;overflow:hidden;text-align:left;color:var(--ink);padding:0}.sticker-admin-card img,.sticker-placeholder{width:100%;aspect-ratio:1;object-fit:cover;background:#dbd3c5;display:grid;place-items:center;font:700 32px var(--serif)}.sticker-admin-card>span:last-child{display:block;padding:11px}.sticker-admin-card strong,.sticker-admin-card small{display:block}.sticker-admin-card small{color:var(--muted);margin-top:3px}

@media(max-width:1100px){.vendor-uniform-grid{grid-template-columns:repeat(3,1fr)}.command-metrics{grid-template-columns:repeat(3,1fr)}.admin-booking-row{grid-template-columns:1fr}.admin-booking-actions{justify-content:flex-start}.sticker-mini-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:900px){.experience-hero-inner{grid-template-columns:1fr}.weekly-programme{max-width:620px}.vendor-uniform-grid{grid-template-columns:repeat(2,1fr)}.current-booking-facts,.primary-action-grid{grid-template-columns:1fr 1fr}.vendor-directory-grid{grid-template-columns:1fr}.sticker-admin-grid{grid-template-columns:repeat(3,1fr)}.badge-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.experience-hero-inner{padding-top:48px}.hero-copy h1{font-size:46px}.market-photo{flex-basis:87vw;height:300px}.vendor-profile-hero{grid-template-columns:88px 1fr}.vendor-profile-hero>img{width:88px;height:88px}.vendor-uniform-grid{grid-template-columns:1fr 1fr;gap:10px}.vendor-card-body{min-height:138px;padding:12px}.vendor-card-name{font-size:17px}.obligation-grid,.current-booking-facts,.primary-action-grid,.date-check-grid{grid-template-columns:1fr}.stall-map{min-height:320px}.stall-pin{min-width:27px;height:27px;font-size:9px}.myzeiss-profile{grid-template-columns:auto 1fr}.myzeiss-profile>.button{grid-column:1/-1}.badge-grid{grid-template-columns:repeat(2,1fr)}.sticker-mini-grid{grid-template-columns:repeat(6,1fr)}.command-metrics{grid-template-columns:1fr 1fr}.sticker-admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.vendor-uniform-grid{grid-template-columns:1fr}.hero-copy h1{font-size:40px}.hero-facts{display:grid}.market-photo{height:250px}.programme-row{grid-template-columns:54px 1fr}.myzeiss-profile{grid-template-columns:1fr;text-align:center}.my-avatar{margin:auto}.badge-grid{grid-template-columns:1fr 1fr}.sticker-mini-grid{grid-template-columns:repeat(5,1fr)}.command-metrics{grid-template-columns:1fr}.sticker-admin-grid{grid-template-columns:1fr}.admin-booking-actions .button{flex:1 1 46%}.vendor-directory-card{grid-template-columns:48px 1fr}.vendor-directory-card>b{display:none}.vendor-directory-avatar{width:48px;height:48px}}
.vendor-card-image{overflow:hidden}.vendor-card-image img{width:100%;height:100%;object-fit:cover}.market-photo{margin:0;overflow:hidden}.market-photo img{width:100%;height:100%;object-fit:cover}.vendor-ready-banner.ready{background:#e9f1e8;color:#365b3c;border:1px solid #c8ddc8}.vendor-ready-banner.needs-action{background:#fff5df;color:#7f5b18;border:1px solid #ead6aa}.obligation.done{border-left:5px solid var(--success)}.obligation.todo{border-left:5px solid #d49c36}.attendance-badge>img{width:76px;height:76px;object-fit:cover;border-radius:50%;margin:0 auto 8px;border:3px solid #e1cf9d}.photo-awaiting>img{width:90px;height:90px;object-fit:contain;margin:0 auto 12px}
.event-date-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:12px;align-items:end}.inline-control{display:flex;gap:8px}.inline-control input{min-width:0}.inline-control .button{flex:0 0 auto}@media(max-width:720px){.event-date-controls{grid-template-columns:1fr}.inline-control{align-items:stretch;flex-direction:column}}
.multi-week-toggle{display:flex;gap:10px;align-items:flex-start;border:1px solid #d9c9aa;background:#fff8e9;border-radius:16px;padding:14px;cursor:pointer}.multi-week-toggle input{width:auto;margin-top:4px}.multi-week-toggle strong,.multi-week-toggle small{display:block}.multi-week-toggle small{color:var(--muted);margin-top:3px}
.mini-sticker.missing img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.24) contrast(1.35);opacity:.92}.mini-sticker.gifted img{filter:grayscale(1)!important;opacity:.72}.mini-sticker.gifted{outline:2px dashed #777}.mini-sticker.owned img{filter:none}
.event-activity-list{display:grid;gap:8px}.event-activity-row{display:grid;grid-template-columns:100px 1fr 1.4fr 38px;gap:7px;align-items:center}.event-activity-row input{min-width:0}.activity-remove{width:38px;height:38px;border:1px solid var(--line);background:#fffefa;border-radius:10px;font-size:20px;color:var(--danger)}.event-save-actions{display:flex;gap:9px;flex-wrap:wrap}.event-gallery-preview img{width:110px;height:80px}@media(max-width:720px){.event-activity-row{grid-template-columns:1fr 38px}.event-activity-row input:nth-child(3){grid-column:1/-1}.event-save-actions{flex-direction:column}.event-save-actions .button{width:100%}}

/* v0.76.0B — Operations & Dark UI Pass */
.button-gold{background:#a88343;color:#fff8e8;box-shadow:0 8px 18px rgba(80,55,20,.2)}
#portalView,#adminView{background:radial-gradient(circle at 82% 0,rgba(154,114,74,.14),transparent 32%),linear-gradient(180deg,#17261e 0%,#1d2d24 50%,#17231c 100%);color:#f5efe3;min-height:calc(100vh - 74px)}
#portalView .portal-top h1,#adminView .portal-top h1,#portalView h2,#portalView h3,#adminView h2,#adminView h3{color:#fff8eb}
#portalView .portal-sub,#adminView .portal-sub,#portalView .panel-head p,#adminView .panel-head p,#portalView .muted,#adminView .muted{color:#bfc8be}
#portalView .panel:not(.vendor-dashboard-hero),#adminView .panel{background:#25372c;border-color:#415347;box-shadow:0 12px 34px rgba(0,0,0,.16);color:#f5efe3}
#portalView .card,#adminView .card{background:#2d4033;border-color:#4a5d50;color:#f5efe3}
#portalView .card p,#adminView .card p{color:#c5cec4}
#portalView .side-panel,#adminView .side-panel{background:#111e18;border:1px solid #34463a;box-shadow:0 14px 32px rgba(0,0,0,.2)}
#portalView .side-panel button.active,#adminView .side-panel button.active{background:#52664f;color:#fff}
#portalView .obligation,#portalView .current-booking-facts>div,#portalView .action-tile{background:#304438;border-color:#516456;color:#f8f1e5}
#portalView .obligation small,#portalView .current-booking-facts small,#portalView .action-tile span{color:#c3ccc2}
#portalView .obligation.done{background:#2a4433;border-left-color:#71a477}
#portalView .obligation.todo{background:#493d29;border-left-color:#d7a34a}
#portalView .vendor-ready-banner{display:grid;gap:3px}.vendor-ready-banner strong,.vendor-ready-banner span{display:block}
#portalView .vendor-ready-banner.ready{background:#254532;color:#dff1df;border-color:#507659}
#portalView .vendor-ready-banner.needs-action{background:#4a3b21;color:#ffebbd;border-color:#8d6d31}
#portalView .payment-details>div,#portalView .booking-readonly>div,#portalView .eft-reference{background:#304438;border-color:#516456;color:#f7f0e4}
#portalView .payment-details small,#portalView .booking-readonly small,#portalView .eft-reference small{color:#bbc7bc}
#portalView .status-guide>div{border-color:#46594b}
#portalView .notice,#adminView .notice{background:#2f4134;border-color:#536758;color:#e8eee8}
#portalView .notice.warning,#adminView .notice.warning{background:#493b27;border-color:#8a6e36;color:#ffe7ae}
#portalView .empty-state,#adminView .empty-state{background:#1f3026;border-color:#516256;color:#bfc9c0}
#portalView .field label,#adminView .field label{color:#e8eee7}
#portalView input,#portalView textarea,#portalView select,#adminView input,#adminView textarea,#adminView select{background:#f5efe5;color:#262c27;border-color:#b8ad9c}
#portalView input:disabled,#portalView textarea:disabled,#portalView select:disabled,#adminView input:disabled,#adminView textarea:disabled,#adminView select:disabled{background:#d8d1c5;color:#6a665f}
#adminView .metric{background:#304438;border-color:#516456;color:#fff4df}
#adminView .metric small{color:#bac6bb}#adminView .metric.split{background:#4b3e25;border-color:#856f40}
#adminView .attention-row{background:#2c3e32;border-color:#536558;color:#f5efe3}
#adminView .attention-row span small{color:#bdc7bd}
#adminView .attention-row.danger{background:#4b2f2b;border-left-color:#d06a5f}#adminView .attention-row.warning{background:#4a3b25;border-left-color:#d5a44d}#adminView .attention-row.success{background:#274432;border-left-color:#70a678}
#adminView .admin-booking-row,#adminView .vendor-directory-card{background:#2d4033;border-color:#506256;color:#f5efe3}
#adminView .admin-booking-title span,#adminView .vendor-directory-card small{color:#bdc7bd}#adminView .vendor-directory-card em{color:#d2bc80}
#adminView .admin-booking-meta span{background:#1e3026;color:#d9e2d8}.admin-booking-meta .overlap-flag{background:#5b4323!important;color:#ffe4a8!important}
#adminView .checkbox-field label{background:#304438;border-color:#516456;color:#f5efe3}
#adminView .data-table th{color:#ddd1bc}#adminView .data-table td{border-color:#425548;color:#eee8dc}
.admin-access-list{display:grid;gap:9px}.access-request-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.35fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid #4c5e51;border-radius:15px;background:#2c3e32}.access-request-row strong,.access-request-row small{display:block}.access-request-row small{color:#bdc7bd;margin-top:2px}.inline-admin-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:10px;align-items:end}
.sticker-admin-card{background:#2d4033!important;border-color:#536559!important;color:#f5efe3!important}.sticker-admin-card .sticker-placeholder{background:#1e3026;color:#d3b86f}.sticker-admin-copy{display:block;padding:11px 11px 5px}.sticker-admin-card small{color:#bec8be!important}.sticker-admin-actions{display:flex!important;gap:6px;flex-wrap:wrap;padding:7px 11px 12px!important}.sticker-admin-actions .button{flex:1 1 auto}.qr-manager{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:22px;align-items:center}.qr-manager>img{background:#fff;padding:12px;border-radius:18px}.claim-link-box{padding:11px;border-radius:12px;background:#eef0e9;color:#243129;font-size:12px;word-break:break-all;margin:12px 0}.claim-success-card{max-width:920px;margin:50px auto;padding:28px;display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:center;background:#20342a;color:#f7f0e4;border:1px solid #4a6151;border-radius:26px}.claim-success-card>img{width:260px;height:260px;object-fit:cover;border-radius:22px}.claim-success-card h1{color:#fff8eb}
.finance-secondary-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.finance-secondary-stats span{background:#1d2f25;border:1px solid #465a4c;border-radius:999px;padding:7px 11px;color:#c9d2c8;font-size:12px}.finance-secondary-stats b{color:#fff}.finance-ledger{display:grid;gap:8px}.ledger-row{display:grid;grid-template-columns:34px 1fr auto 34px;gap:10px;align-items:center;padding:12px;border:1px solid #4c5f51;border-radius:14px;background:#2c3f32}.ledger-row .ledger-type{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:800}.ledger-row.income .ledger-type{background:#31573a;color:#b9e6bd}.ledger-row.expense .ledger-type{background:#5a342f;color:#ffc4bb}.ledger-row strong,.ledger-row small{display:block}.ledger-row small{color:#bec8be}.ledger-row b{font-family:var(--serif)}.ledger-row.income b{color:#9fd5a4}.ledger-row.expense b{color:#e8a49a}.icon-action{width:30px;height:30px;border-radius:9px;border:1px solid #5a6b5e;background:#1e3026;color:#d6ddd6}.closeout-history{display:grid;gap:8px}.closeout-version{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #4c5f51;background:#2c3e32;border-radius:14px}.closeout-version strong,.closeout-version small{display:block}.closeout-version small{color:#bcc6bc}
@media(max-width:760px){.access-request-row,.inline-admin-form,.qr-manager,.claim-success-card,.closeout-version{grid-template-columns:1fr}.claim-success-card>img{width:min(260px,100%);height:auto}.ledger-row{grid-template-columns:30px 1fr auto}.ledger-row .icon-action{grid-column:3}.finance-secondary-stats span{flex:1 1 46%}}


/* v0.76.0C — darker logged-in experience, booking/payment reliability */
#portalView .week-card,#adminView .week-card{background:#2a3b30;border-color:#4c5d50;color:#f7f0e4;box-shadow:0 10px 24px rgba(0,0,0,.14)}
#portalView .week-card .week-date,#portalView .week-card .week-theme,#adminView .week-card .week-date,#adminView .week-card .week-theme{color:#fff7e8}
#portalView .week-card .week-meta,#portalView .week-card .muted,#adminView .week-card .week-meta,#adminView .week-card .muted{color:#c0c9c0}
#portalView .week-card .status.neutral,#adminView .week-card .status.neutral{background:#1e2c24;color:#d8dfd8}
#portalView .field input,#portalView .field textarea,#portalView .field select,#adminView .field input,#adminView .field textarea,#adminView .field select{background:#18271f;color:#f5efe3;border-color:#526257}
#portalView .field input::placeholder,#portalView .field textarea::placeholder,#adminView .field input::placeholder,#adminView .field textarea::placeholder{color:#89978d}
#portalView .field input:focus,#portalView .field textarea:focus,#portalView .field select:focus,#adminView .field input:focus,#adminView .field textarea:focus,#adminView .field select:focus{border-color:#8b7251;box-shadow:0 0 0 3px rgba(139,114,81,.18)}
#portalView .field input:disabled,#portalView .field textarea:disabled,#portalView .field select:disabled,#adminView .field input:disabled,#adminView .field textarea:disabled,#adminView .field select:disabled{background:#26352c;color:#94a198;opacity:1}
#portalView .date-check,#adminView .date-check{background:#2b3c31;border-color:#4e6052;color:#f5efe3}
#portalView .date-check small,#adminView .date-check small{color:#bec7be}
#portalView .checkbox-field label,#adminView .checkbox-field label{background:#26382d!important;border-color:#4e6052!important;color:#f4ede2!important}
#portalView .payment-details>div,#portalView .booking-readonly>div,#portalView .eft-reference,#adminView .payment-details>div,#adminView .booking-readonly>div,#adminView .eft-reference{background:#1c2c23;border-color:#4e6052;color:#f7f0e4}

.app-dialog.dark-context{background:#1a2921;color:#f5efe3;border:1px solid #46584c}
.app-dialog.dark-context .dialog-inner{background:linear-gradient(180deg,#1d2e25,#17261f);color:#f5efe3}
.app-dialog.dark-context .dialog-head{border-bottom:1px solid #405246;padding-bottom:14px}
.app-dialog.dark-context h2,.app-dialog.dark-context h3,.app-dialog.dark-context .kicker{color:#fff7e8}
.app-dialog.dark-context .dialog-close{background:#3a4b40;color:#fff}
.app-dialog.dark-context .field label{color:#eef1eb}
.app-dialog.dark-context .field input,.app-dialog.dark-context .field textarea,.app-dialog.dark-context .field select{background:#111f18;color:#f5efe3;border-color:#4e6052}
.app-dialog.dark-context .field input::placeholder,.app-dialog.dark-context .field textarea::placeholder{color:#87958b}
.app-dialog.dark-context .field input:focus,.app-dialog.dark-context .field textarea:focus,.app-dialog.dark-context .field select:focus{border-color:#98754a;box-shadow:0 0 0 3px rgba(152,117,74,.18)}
.app-dialog.dark-context .hint,.app-dialog.dark-context .muted,.app-dialog.dark-context .portal-sub{color:#b9c4ba}
.app-dialog.dark-context .notice{background:#2b3c31;border-color:#526456;color:#e7eee7}
.app-dialog.dark-context .notice.warning{background:#4a3a22;border-color:#8e6d35;color:#ffebbd}
.app-dialog.dark-context .payment-details>div,.app-dialog.dark-context .booking-readonly>div,.app-dialog.dark-context .eft-reference{background:#24362b;border-color:#506255;color:#f7f0e4}
.app-dialog.dark-context .payment-details small,.app-dialog.dark-context .booking-readonly small,.app-dialog.dark-context .eft-reference small{color:#b8c4ba}
.app-dialog.dark-context .copy-link{color:#d4b77a}
.app-dialog.dark-context .date-check{background:#26382d;border-color:#4e6052;color:#f5efe3}
.app-dialog.dark-context .date-check small{color:#bdc7be}
.app-dialog.dark-context .button-paper{background:#efe6d7;color:#283229;border-color:#d2c4ad}
.app-dialog.dark-context .button-primary{background:#9b5b3d;color:#fff;border-color:#9b5b3d}
.app-dialog.dark-context .button-disabled{background:#34423a;color:#88948c;border-color:#4a5a50}

.upload-fallback-note{margin-top:8px;padding:10px 12px;border-radius:12px;background:#4a3a22;border:1px solid #8e6d35;color:#ffebbd;font-size:12px;line-height:1.45}
.stall-map-static{width:100%;aspect-ratio:1800/1040;background:url('assets/market/cmoz-layout.webp') center/contain no-repeat;background-color:#efe9dc;border:1px solid #aa9e8c;border-radius:16px}
.stall-map-note{margin-top:8px;color:#aebbb1;font-size:12px}
.app-dialog.dark-context .stall-map-wrap{background:#223329;border-color:#4b5e50}
.app-dialog.dark-context .stall-map-note{color:#bcc6bd}
@media(max-width:700px){.stall-map-static{aspect-ratio:1.55}}

/* v0.76.0F — Heritage Sticker Hunt + live Heritage Quiz */
.hunt-shell,.quiz-shell{max-width:1040px;margin:34px auto;padding:0 18px}.hunt-card{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:28px;align-items:center;background:linear-gradient(145deg,#21372b,#182a21);border:1px solid #4c6253;border-radius:28px;padding:26px;color:#f7f0e4;box-shadow:0 20px 50px rgba(0,0,0,.22)}.hunt-card.gold-state{background:linear-gradient(145deg,#3f351f,#203125);border-color:#9a7935}.hunt-sticker-art{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:24px;background:#efe6d5;padding:8px}.hunt-copy h1,.hunt-copy h2{color:#fff8e8}.hunt-trivia{color:#c9d3ca;font-size:16px;line-height:1.55}.sticker-unlocked,.upgrade-invite,.upgrade-question,.gold-celebration{margin-top:18px}.gold-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.quiz-choice{display:flex;align-items:center;gap:10px;border:1px solid #526657;border-radius:14px;background:#263b2e;padding:13px;cursor:pointer}.quiz-choice input{accent-color:#c5a14d}.quiz-choice>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#c5a14d;color:#211c12;font-weight:800}.quiz-choice b{color:#fff}.quiz-choice:has(input:checked){border-color:#d8b75c;box-shadow:0 0 0 2px rgba(216,183,92,.18)}.hunt-rescue p{margin:8px 0}.upgrade-list{display:grid;gap:10px}.upgrade-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #526358;border-radius:14px;background:#26392e}.upgrade-row img{width:64px;height:64px;object-fit:cover;border-radius:12px}.upgrade-row strong,.upgrade-row small{display:block}.upgrade-row small{color:#b9c4bb;margin-top:3px}
.quiz-join-card,.quiz-wait-card,.quiz-round-card,.quiz-finish-card,.live-quiz-card,.quiz-feedback-card{background:linear-gradient(145deg,#20362a,#17281f);color:#f7f0e4;border:1px solid #4d6254;border-radius:28px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.quiz-join-card,.quiz-wait-card,.quiz-round-card,.quiz-finish-card{max-width:800px;margin:auto}.quiz-shell h1,.quiz-shell h2,.quiz-shell h3{color:#fff8e8}.quiz-topline{display:flex;justify-content:space-between;align-items:center;color:#d8c99e;font-weight:700}.quiz-topline strong{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#9b5b3d;color:#fff;font-size:21px}.quiz-progress{height:8px;background:#31463a;border-radius:99px;overflow:hidden;margin:14px 0 22px}.quiz-progress>div{height:100%;background:#d1ae59}.quiz-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.quiz-answer-button{display:flex;align-items:center;text-align:left;gap:12px;min-height:78px;padding:14px;border-radius:16px;border:1px solid #526657;background:#294033;color:#fff;cursor:pointer;font:inherit}.quiz-answer-button:hover{transform:translateY(-1px);border-color:#d3b45d}.quiz-answer-button>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#d3b45d;color:#231e14;font-weight:800}.quiz-answer-button b{font-size:16px}.quiz-scoreline{display:flex;justify-content:space-between;margin-top:20px;color:#c4cec5}.quiz-feedback-card{text-align:center;max-width:720px;margin:auto}.quiz-feedback-card.correct{border-color:#6e9b72;background:linear-gradient(145deg,#244b31,#182d23)}.quiz-feedback-card.wrong{border-color:#8d5c4c;background:linear-gradient(145deg,#493126,#202b24)}.answer-reveal{margin:18px auto;padding:15px;border-radius:14px;background:rgba(255,255,255,.07);max-width:520px}.answer-reveal small,.answer-reveal strong{display:block}.answer-reveal strong{font-size:20px;margin-top:4px}.leaderboard-list{display:grid;gap:8px;margin-top:14px}.leader-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:13px;background:#273a30;border:1px solid #4b5e51}.leader-row> b:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#b89347;color:#19160f}.leader-row span strong,.leader-row span small{display:block}.leader-row span small{color:#b9c4bb}.quiz-admin-actions{flex-wrap:wrap}.quiz-admin-panel .panel-subsection{margin-top:20px}
@media(max-width:760px){.hunt-card{grid-template-columns:1fr;padding:18px}.hunt-sticker-art{max-width:330px;margin:auto}.gold-option-grid,.quiz-answer-grid{grid-template-columns:1fr}.upgrade-row{grid-template-columns:54px 1fr}.upgrade-row img{width:54px;height:54px}.upgrade-row .button{grid-column:1/-1}.live-quiz-card,.quiz-join-card,.quiz-wait-card,.quiz-round-card,.quiz-finish-card,.quiz-feedback-card{padding:20px}.quiz-answer-button{min-height:66px}}

/* v0.76.0G — Heritage Quiz Director controls */
.quiz-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quiz-control-card{background:#26392e;border:1px solid #4d6254;border-radius:18px;padding:16px;min-width:0}.quiz-control-card h3{margin:4px 0 8px}.quiz-control-card p{color:#c0cbc1}.quiz-progress-admin-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid #4d6254;border-radius:14px;background:#25382d;margin-bottom:12px}.quiz-progress-admin-summary.complete{border-color:#73936f;background:#284733}.quiz-progress-admin-summary small{color:#bec8bf}.quiz-question-count-grid{display:grid;grid-template-columns:repeat(11,minmax(50px,1fr));gap:7px}.quiz-question-count{border:1px solid #4d6254;background:#1f3127;border-radius:12px;padding:9px 6px;text-align:center}.quiz-question-count small,.quiz-question-count strong{display:block}.quiz-question-count small{color:#bac5bb;font-size:11px}.quiz-question-count strong{font-size:19px;margin-top:2px}.quiz-question-count.active{border-color:#c5a14d;background:#3d3825}.quiz-question-count.done{border-color:#71936f;background:#284733}.quiz-review-controls{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.quiz-review-card{border:1px solid #53685a;background:#1d3026;border-radius:18px;padding:18px}.quiz-review-card.admin-preview{margin-top:12px}.quiz-review-card h2{margin:5px 0 14px}.quiz-review-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quiz-review-option{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid #4d6254;border-radius:13px;background:#273c30}.quiz-review-option>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#394f40;font-weight:800}.quiz-review-option.correct{border-color:#c8a74f;background:#443b24}.quiz-review-option.correct>span{background:#c8a74f;color:#211b10}.quiz-review-option em{font-style:normal;font-size:11px;font-weight:800;color:#f0d88d}.quiz-review-explanation{color:#c7d0c8;margin:14px 0 0}.leader-row.admin-row{grid-template-columns:38px 1fr auto minmax(130px,auto)}.quiz-player-admin-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.quiz-mobile-control .portal-top{align-items:flex-start}.quiz-admin-shortcut{margin-bottom:10px}
@media(max-width:900px){.quiz-control-grid{grid-template-columns:1fr}.quiz-question-count-grid{grid-template-columns:repeat(6,1fr)}.quiz-review-options{grid-template-columns:1fr}.leader-row.admin-row{grid-template-columns:34px 1fr auto}.leader-row.admin-row .quiz-player-admin-actions{grid-column:2/-1;justify-content:flex-start}.quiz-progress-admin-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.quiz-question-count-grid{grid-template-columns:repeat(4,1fr)}.quiz-review-controls .button{flex:1 1 54px}.quiz-control-card{padding:14px}}
.quiz-question-count.waiting{border-color:#7b745b;background:#37362d}
