
:root{
  --ink:#171714;
  --paper:#f7f4ed;
  --card:#fffdf8;
  --muted:#716d65;
  --gold:#b58a27;
  --gold2:#d5b25d;
  --olive:#485044;
  --line:#ded7c8;
  --green:#355f4c;
  --red:#8c3b35;
  --shadow:0 18px 50px rgba(18,18,15,.11);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:var(--paper);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
button,input,select,textarea{font:inherit}
button,a{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site{min-height:100vh}
.site-nav{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;justify-content:space-between;
  background:rgba(247,244,237,.94);backdrop-filter:blur(16px);
  padding:10px clamp(16px,4vw,56px);border-bottom:1px solid rgba(222,215,200,.75)
}
.site-logo{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-weight:700;letter-spacing:.08em}
.site-logo img{width:58px;height:58px;object-fit:contain}
.site-links{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700}
.site-links a:hover{color:var(--gold)}
.site-actions{display:flex;gap:9px;align-items:center}
.btn{
  border:0;border-radius:999px;padding:11px 17px;font-weight:800;background:var(--ink);color:#fff;
  box-shadow:0 8px 20px rgba(20,20,17,.14)
}
.btn:hover{transform:translateY(-1px)}
.btn.gold{background:var(--gold);color:#fff}
.btn.green{background:var(--green)}
.btn.red{background:var(--red)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #bbb2a0;box-shadow:none}
.btn.white{background:#fff;color:var(--ink)}
.btn.full{width:100%}
.hamburger{display:none;border:0;background:transparent;font-size:24px}
.hero-site{
  min-height:76vh;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:#181814;color:#fff
}
.hero-copy{
  display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,8vw,110px);
  position:relative
}
.hero-copy:after{
  content:"★";position:absolute;right:4%;top:5%;font-size:min(28vw,300px);color:rgba(181,138,39,.10);line-height:1
}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--gold2)}
.hero-copy h1{
  position:relative;z-index:1;font-family:Georgia,"Times New Roman",serif;font-weight:400;
  font-size:clamp(50px,7.2vw,105px);line-height:.93;margin:18px 0 25px;letter-spacing:-.04em
}
.hero-copy p{position:relative;z-index:1;max-width:610px;line-height:1.65;color:#e6e1d7;font-size:17px}
.hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-hours{position:relative;z-index:1;margin-top:30px;font-size:13px;color:#cfc7b9}
.hero-image{min-height:540px;background:url("assets/deck.jpg") center/cover no-repeat;position:relative}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,24,20,.24),transparent 48%)}
.section{padding:clamp(64px,9vw,110px) clamp(18px,6vw,84px)}
.section.alt{background:#ebe6da}
.section.dark{background:#171714;color:#fff}
.section-head{max-width:720px;margin-bottom:36px}
.section-head h2{font-family:Georgia,serif;font-size:clamp(35px,5vw,62px);font-weight:400;line-height:1.04;margin:9px 0 15px}
.section-head p{color:var(--muted);line-height:1.7;margin:0}
.dark .section-head p{color:#cbc3b5}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.photo-card{border-radius:30px;overflow:hidden;min-height:390px;box-shadow:var(--shadow)}
.photo-card img{width:100%;height:100%;object-fit:cover}
.copy-card{
  background:var(--card);border-radius:30px;padding:clamp(28px,5vw,62px);display:flex;flex-direction:column;justify-content:center;
  border:1px solid var(--line)
}
.copy-card h3{font-family:Georgia,serif;font-size:clamp(30px,4vw,50px);font-weight:400;margin:0 0 16px}
.copy-card p{line-height:1.75;color:var(--muted)}
.menu-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}
.menu-tab{border:1px solid #c4baa6;background:transparent;border-radius:999px;padding:9px 14px;font-weight:800}
.menu-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.menu-group{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px}
.menu-group h3{font-family:Georgia,serif;font-size:27px;margin:0 0 11px;color:var(--gold)}
.menu-item{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:13px 0;border-bottom:1px solid #ebe5d9}
.menu-item:last-child{border-bottom:0}
.menu-item strong{font-size:15px}
.menu-item .price{font-weight:900}
.menu-item p{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.drink-band{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:center
}
.drink-band img{border-radius:28px;width:100%;height:460px;object-fit:cover}
.drink-copy{padding:20px}
.drink-copy h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,65px);font-weight:400;margin:10px 0 16px}
.drink-copy p{color:#d0c8bb;line-height:1.7}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:20px;min-height:290px;background:#ddd}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gallery figure:hover img{transform:scale(1.03)}
.gallery figcaption{position:absolute;left:14px;bottom:12px;background:rgba(17,17,15,.72);color:#fff;padding:7px 10px;border-radius:999px;font-size:12px}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.visit-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}
.visit-card h3{font-family:Georgia,serif;font-size:30px;margin:0 0 16px}
.info-row{padding:13px 0;border-bottom:1px solid #ece6db}
.info-row:last-child{border-bottom:0}
.info-row small{display:block;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.1em}
.loyalty-banner{
  margin-top:24px;border-radius:28px;background:linear-gradient(135deg,#1c1c18,#393528);color:#fff;padding:clamp(26px,5vw,50px);
  display:flex;gap:30px;align-items:center;justify-content:space-between
}
.loyalty-banner h3{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);font-weight:400;margin:5px 0}
.loyalty-banner p{max-width:630px;color:#ddd4c4;line-height:1.6}
.site-footer{padding:38px clamp(18px,6vw,84px);background:#0f0f0d;color:#c8c0b1}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}
.footer-logo{width:110px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.footer-right{text-align:right;font-size:13px;line-height:1.6}
.mobile-menu{display:none}

/* Portal */
.portal-shell{max-width:1040px;margin:0 auto;min-height:100vh;padding-bottom:90px}
.portal-top{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 18px;background:rgba(247,244,237,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)
}
.portal-brand{display:flex;align-items:center;gap:10px;font-weight:900}
.portal-brand img{width:48px;height:48px;object-fit:contain}
.portal-hero{padding:28px 18px 8px}
.portal-hero h1{font-family:Georgia,serif;font-size:clamp(34px,6vw,52px);font-weight:400;margin:0 0 9px}
.portal-hero p{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;padding:16px 18px}
.card{
  grid-column:span 12;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)
}
.card h2,.card h3{margin:0 0 12px}
.login-card{max-width:500px;margin:35px auto 0}
.field{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.field label{font-size:13px;font-weight:800;color:#514d46}
input,select,textarea{
  width:100%;border:1px solid #d4cdbc;border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,138,39,.12)}
.demo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.demo{border:1px dashed #bdb4a5;background:#fff;border-radius:12px;padding:10px;font-weight:800}
.small{font-size:12px;color:var(--muted)}
.note{font-size:12px;color:var(--muted);line-height:1.5}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eee7d9;font-size:12px;font-weight:850}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.stat{padding:14px;border:1px solid var(--line);background:#fff;border-radius:16px}
.stat strong{font-size:26px;display:block}
.stat span{font-size:12px;color:var(--muted)}
.voucher{
  background:linear-gradient(145deg,#1b1b18,#3a3528);color:#fff;border-radius:22px;padding:18px;overflow:hidden;position:relative
}
.voucher:after{content:"★";position:absolute;right:-12px;top:-27px;font-size:130px;color:rgba(213,178,93,.09)}
.voucher .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#ded5c4}
.voucher h3{color:#fff;margin:5px 0 4px;font-size:23px}
.voucher .remaining{font-size:14px;color:#eee8dc}
.stamps{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:17px 0 5px}
.stamp{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:17px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07)}
.stamp.used{background:#f0ebdf;color:#1b1b18}
.stamp.free{border-color:#d5b25d;color:#e0bd67}
.stamp.free.used{background:#d5b25d;color:#2f230b}
.codebox{margin-top:14px;border:1px dashed #b5954d;border-radius:17px;padding:16px;text-align:center;background:#fff8e8}
.code{font-size:34px;font-weight:900;letter-spacing:7px}
.offer{border-left:5px solid var(--gold);padding:14px 14px 14px 16px;background:#fff;border-radius:15px;margin:10px 0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.offer h4{margin:0 0 5px}
.offer p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.actions{display:flex;flex-wrap:wrap;gap:9px}
.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.list{display:flex;flex-direction:column;gap:10px}
.list-item{border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px}
.tabs{
  position:fixed;bottom:0;left:0;right:0;z-index:40;max-width:1040px;margin:auto;display:flex;justify-content:space-around;
  padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(247,244,237,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line)
}
.tab{border:0;background:transparent;color:var(--muted);padding:7px 10px;font-weight:850}
.tab.active{color:var(--ink)}
.empty{padding:18px;border:1px dashed #c7c0b4;border-radius:15px;color:var(--muted);text-align:center}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:#12120f;color:#fff;padding:11px 14px;border-radius:12px;z-index:99;transition:.22s;box-shadow:var(--shadow);max-width:86vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px}
th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
@media(min-width:760px){.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){
  .site-links{display:none}.hamburger{display:block}.site-actions .call-btn{display:none}
  .hero-site{grid-template-columns:1fr}.hero-image{min-height:420px;order:-1}
  .about-grid,.drink-band,.visit-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .menu-groups{grid-template-columns:1fr}
  .mobile-menu.open{display:flex;position:fixed;z-index:45;top:79px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;gap:14px;border-bottom:1px solid var(--line)}
}
@media(max-width:560px){
  .site-logo span{display:none}.site-logo img{width:66px;height:66px}
  .hero-image{min-height:330px}.hero-copy{padding:46px 20px 58px}
  .section{padding:60px 18px}.gallery{grid-template-columns:1fr 1fr}.gallery figure{min-height:220px}
  .loyalty-banner{align-items:flex-start;flex-direction:column}
  .footer-grid{align-items:flex-start;flex-direction:column}.footer-right{text-align:left}
  .demo-row{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}
}

.booking-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.booking-card{background:#24241f;border:1px solid #444238;border-radius:26px;padding:28px}
.booking-card input,.booking-card select,.booking-card textarea{background:#fff}
.booking-info{display:flex;flex-direction:column;justify-content:center}
.booking-info h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:10px 0}
.booking-info p{color:#d4ccbe;line-height:1.65}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.booking-success{padding:8px;color:#fff}
.booking-success strong{font-family:Georgia,serif;font-size:30px;font-weight:400}
.booking-success p{color:#d4ccbe;line-height:1.6}
.content-admin-grid{display:contents}
.gallery-admin{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}
.gallery-admin-item{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.gallery-admin-item img{width:100%;height:140px;object-fit:cover}
.gallery-admin-item>div{padding:10px;display:flex;gap:8px;justify-content:space-between;align-items:center}
.gallery-admin-item .btn{padding:7px 10px;font-size:12px}
@media(max-width:760px){.booking-grid,.form-two{grid-template-columns:1fr}.gallery-admin{grid-template-columns:1fr}}

/* Menu layout refinement: main menu left, smaller menus stacked at natural height. */
.menu-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:22px;align-items:start}
.menu-primary,.menu-side-stack{min-width:0}
.menu-side-stack{display:flex;flex-direction:column;gap:22px;align-self:start}
.menu-layout .menu-group{height:auto;align-self:start}
.menu-side-stack .menu-group{min-height:0}
@media(max-width:820px){
  .menu-layout{grid-template-columns:1fr}
  .menu-side-stack{display:contents}
  .menu-layout .menu-group{margin-bottom:0}
}

/* Google reviews */
.reviews-section{background:#fffdf8}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{border:1px solid var(--line);border-radius:22px;padding:22px;background:#fff;box-shadow:var(--shadow)}
.review-stars{color:#c79827;letter-spacing:.13em;font-size:20px}
.review-card p{font-family:Georgia,serif;font-size:22px;line-height:1.4;margin:14px 0 20px}
.review-card strong,.review-card span{display:block}
.review-card span{font-size:12px;color:var(--muted);margin-top:3px}
.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
@media(max-width:760px){.review-grid{grid-template-columns:1fr}}

/* Expanded voucher programme UI */
.voucher-stack{display:flex;flex-direction:column;gap:16px}
.voucher-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.stamp-reward{font-size:12px;color:#e8decb;margin-top:10px;line-height:1.5}
.voucher-admin-layout{display:contents}
.voucher-types-list{grid-column:span 12}
.stamp-fields{display:none}
.tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto}
@media(min-width:760px){
  .voucher-admin-layout>.card:nth-child(1),.voucher-admin-layout>.card:nth-child(2){grid-column:span 6}
}

/* ===== v4 layout + cross-platform updates ===== */

/* Standalone, larger header logo */
.site-logo img{width:86px;height:86px;object-fit:contain}
.site-logo span{display:none!important}
.site-nav{min-height:100px}

/* Equal-width menu category boxes, one below another */
.menu-single-column{
  display:flex;
  flex-direction:column;
  gap:18px;
  width:100%;
}
.menu-single-column .menu-group{
  width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  align-self:stretch;
  margin:0;
}
.menu-tabs{
  position:sticky;
  top:100px;
  z-index:12;
  background:var(--paper);
  padding:10px 0;
}

/* Reviews now live inside Visit & Reviews */
.combined-visit{background:#ebe6da}
.reviews-inside-visit{
  margin-top:48px;
  padding-top:42px;
  border-top:1px solid var(--line);
}
.reviews-head{margin-bottom:26px}

/* Browser/mobile compatibility */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  min-width:280px;
  overflow-x:hidden;
}
button,input,select,textarea{
  -webkit-appearance:none;
  appearance:none;
}
a,button{
  -webkit-tap-highlight-color:transparent;
}
img{height:auto}
.tabs{
  overflow-x:auto;
  justify-content:flex-start;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto}

@supports(padding:max(0px)){
  .site-nav{
    padding-left:max(clamp(16px,4vw,56px),env(safe-area-inset-left));
    padding-right:max(clamp(16px,4vw,56px),env(safe-area-inset-right));
  }
  .tabs{
    padding-bottom:max(9px,env(safe-area-inset-bottom));
  }
}
@media(max-width:900px){
  .site-logo img{width:72px;height:72px}
  .site-nav{min-height:86px}
  .menu-tabs{top:86px}
}
@media(max-width:560px){
  .site-logo img{width:66px;height:66px}
  .site-nav{min-height:80px}
  .menu-tabs{
    top:80px;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .menu-tab{flex:0 0 auto}
}

/* v5: stronger menu typography */
.menu-group h3{font-size:31px}
.menu-item strong{font-size:18px;line-height:1.35}
.menu-item .price{font-size:17px}
.menu-item p{font-size:15px;line-height:1.58}

/* Stamp voucher interaction */
.tap-voucher{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.tap-voucher:hover,.tap-voucher:focus{transform:translateY(-2px);outline:2px solid rgba(213,178,93,.45);outline-offset:2px}
.barcode-panel{margin-top:16px;border:1px solid var(--line);border-radius:22px;padding:20px;background:#fff;text-align:center}
.barcode-panel h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:10px 0 14px}
.barcode-panel p{color:var(--muted);line-height:1.55;max-width:580px;margin:12px auto}
.barcode-svg{display:block;width:100%;max-width:620px;height:auto;margin:0 auto;border-radius:12px;overflow:hidden}
.scanner-box{margin:14px 0;border:1px solid var(--line);border-radius:18px;padding:12px;background:#111;color:#fff}
.scanner-box video{width:100%;max-height:360px;object-fit:cover;border-radius:12px;background:#000;margin-bottom:10px}

/* In-app notifications */
.notification-item.unread{border-left:5px solid var(--gold);background:#fffaf0}
.notification-item>div:not(.small){margin-top:5px;line-height:1.5}
.permission-sheet{position:fixed;inset:0;z-index:100;background:rgba(10,10,8,.58);display:grid;place-items:end center;padding:18px}
.permission-card{width:min(620px,100%);background:var(--card);border-radius:26px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.permission-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:8px 0 10px}
.permission-card p{color:var(--muted);line-height:1.6}
@media(max-width:560px){
 .menu-group h3{font-size:28px}
 .menu-item strong{font-size:17px}
 .menu-item p{font-size:14.5px}
 .barcode-panel{padding:14px}
}

.site-links{font-size:16px;gap:24px}

/* v6 dynamic menu manager */
.content-admin-grid .section-manager{display:flex;flex-direction:column;gap:14px}
.section-manager-group{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffaf5}
.section-chip-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.section-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f5efe5;border:1px solid var(--line);font-size:14px}
.chip-delete{border:none;background:#5c3c2f;color:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;font-weight:700;line-height:1}

/* More attractive public gallery */
.gallery-showcase{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
.gallery-card{
  grid-column:span 4;
  position:relative;
  min-height:280px;
  overflow:hidden;
  border-radius:28px;
  background:#ddd;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
}
.gallery-card.gallery-hero{grid-column:span 6;min-height:400px}
.gallery-card.gallery-tall{grid-column:span 6;min-height:400px}
.gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.gallery-card:hover img{transform:scale(1.06)}
.gallery-card figcaption{
  position:absolute;
  inset:auto 0 0 0;
  display:flex;
  gap:14px;
  align-items:flex-end;
  padding:18px 20px;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.68) 100%);
  color:#fff;
}
.gallery-card figcaption strong{display:block;font-size:18px}
.gallery-card figcaption small{display:block;opacity:.88;margin-top:4px}
.gallery-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.35);
  font-weight:700;
}
.attractive-gallery-admin{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.attractive-gallery-admin .gallery-admin-item{border-radius:18px;padding:10px;background:#fffaf5}

@media(max-width:900px){
  .gallery-card,.gallery-card.gallery-hero,.gallery-card.gallery-tall{grid-column:span 6;min-height:280px}
}
@media(max-width:620px){
  .gallery-card,.gallery-card.gallery-hero,.gallery-card.gallery-tall{grid-column:span 12;min-height:240px}
}

/* v7 admin operations */
.financial-card{grid-column:span 12;background:linear-gradient(145deg,#fffdf8,#f4ecdc)}
.finance-stats{margin-top:18px}
.finance-split{display:grid;grid-template-columns:1.5fr .5fr;gap:20px;margin-top:20px}
.finance-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.finance-big{font-family:Georgia,serif;font-size:54px;color:var(--gold);line-height:1}
.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.subtab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800}
.subtab span{display:inline-flex;min-width:22px;justify-content:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:#eee7d9;font-size:11px}
.subtab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.inner-grid{padding:0;grid-template-columns:repeat(12,1fr)}
.inner-grid>.card{box-shadow:none}
.table-wrap{overflow:auto}
.booking-row{border-left:4px solid var(--gold)}
.identity-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:22px;padding:18px;background:#fffaf0}
.identity-card img{width:150px;height:150px;object-fit:contain;border-radius:14px;background:#fff;padding:8px}
.identity-card h3{font-family:Georgia,serif;font-size:30px;margin:4px 0}
.identity-card p{color:var(--muted);line-height:1.5}
.search-line{display:grid;grid-template-columns:1fr auto;gap:8px}
.customer-search-results{display:flex;flex-direction:column;gap:7px;max-height:260px;overflow:auto;margin-bottom:12px}
.customer-result{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px}
.customer-result:hover{border-color:var(--gold);background:#fffaf0}
.customer-result span:first-child{display:flex;flex-direction:column}
.customer-result small{color:var(--muted);margin-top:3px}
.selected-customer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-radius:14px;background:#edf6ef;border:1px solid #cce2d1;margin:8px 0 14px}
@media(max-width:760px){
 .finance-split{grid-template-columns:1fr}
 .identity-card{align-items:flex-start;flex-direction:column}
 .identity-card img{width:130px;height:130px}
 .search-line{grid-template-columns:1fr}
}

/* ================= V8 OPERATIONS ================= */
.booking-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 22px}
.booking-type-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:20px;text-align:left;box-shadow:var(--shadow)}
.booking-type-card strong{display:block;font-family:Georgia,serif;font-size:24px;margin-bottom:6px}
.booking-type-card span{color:var(--muted);line-height:1.5}
.booking-type-card.active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,138,39,.12)}
.booking-day{font-weight:900;color:var(--ink);margin:4px 0}
.booking-pills{display:flex;gap:6px;flex-wrap:wrap}

.content-admin-shell{width:100%}
.content-subtabs{margin-bottom:20px}
.content-full{box-shadow:none}
.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
.permission-check{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}
.permission-check input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;appearance:auto;-webkit-appearance:auto}
.override-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.staff-admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.staff-admin-layout>.card{grid-column:auto}

.customer-name-link{border:0;background:transparent;color:var(--ink);font-weight:900;text-decoration:underline;text-decoration-color:rgba(181,138,39,.5);text-underline-offset:3px;padding:0}
.customer-name-link:hover{color:var(--gold)}
.customer-profile{width:100%}
.profile-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0}
.profile-head h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:4px 0}
.profile-head img{width:130px;height:130px;object-fit:contain;border-radius:16px;background:#fff;padding:8px;border:1px solid var(--line)}
.customer-stats{grid-template-columns:repeat(5,1fr);margin:12px 0 22px}
.profile-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.profile-section h3{font-family:Georgia,serif;font-size:28px;font-weight:400}

.roster-shell{width:100%}
.roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.roster-toolbar h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:3px 0}
.roster-week{display:grid;grid-template-columns:1fr;gap:12px}
.roster-day{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.roster-day-head{display:flex;justify-content:space-between;padding:12px 14px;background:#f4ecdc}
.shift-card{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--line)}
.roster-empty{padding:14px}
.roster-my-shift{border-left:5px solid var(--gold)}
.finance-card{grid-column:span 12}

@media(max-width:900px){
 .booking-type-cards{grid-template-columns:1fr}
 .staff-admin-layout{grid-template-columns:1fr}
 .permission-grid,.override-grid{grid-template-columns:1fr}
 .customer-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .profile-head{align-items:flex-start;flex-direction:column}
 .customer-stats{grid-template-columns:1fr 1fr}
 .roster-toolbar{align-items:flex-start;flex-wrap:wrap}
 .shift-card{flex-direction:column}
}

/* ================= V9 ACCESS / ROSTER / KITCHEN ================= */
.access-admin-shell,.roster-admin-shell,.recipe-admin-shell,.ingredient-admin-shell{width:100%}
.access-full,.roster-full,.recipe-full,.ingredient-full{width:100%;box-shadow:none}
.permission-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.override-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.single-check{max-width:360px;margin:10px 0 18px}

.staff-pool{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffaf0;margin-bottom:18px}
.staff-pool>div:first-child{min-width:150px}
.staff-drag-chip{display:flex;align-items:center;gap:10px;min-width:190px;padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:15px;cursor:grab}
.staff-drag-chip:active{cursor:grabbing}
.staff-drag-chip span{display:flex;flex-direction:column;flex:1}
.staff-drag-chip small{color:var(--muted);margin-top:2px}
.chip-add,.day-add{border:0;border-radius:999px;background:var(--gold);color:#fff;font-weight:900;min-width:30px;height:30px}
.roster-board{display:grid;grid-template-columns:repeat(7,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px}
.roster-drop-day{border:1px solid var(--line);border-radius:18px;background:#fff;min-height:240px;transition:.18s}
.roster-drop-day.drag-over{border-color:var(--gold);box-shadow:0 0 0 4px rgba(181,138,39,.12);transform:translateY(-2px)}
.roster-day-head>div{display:flex;flex-direction:column}
.day-shifts{padding:9px;display:flex;flex-direction:column;gap:9px}
.roster-drop-day .shift-card{padding:10px;border:1px solid var(--line);border-radius:13px;background:#fffaf5;flex-direction:column}
.roster-drop-day .shift-card .actions{gap:5px}
.roster-drop-day .shift-card .btn{padding:6px 9px;font-size:12px}
.drop-hint{display:grid;place-items:center;min-height:120px;color:var(--muted);border:1px dashed #cfc6b6;border-radius:12px}
.roster-post-actions{margin-top:16px}

.recipe-item-head{padding:18px;border:1px solid var(--line);background:#fffaf0;border-radius:18px;margin-bottom:18px}
.recipe-item-head h2{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:4px 0}
.recipe-lines{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.recipe-line{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fff}
.recipe-line>div{display:flex;flex-direction:column}
.recipe-line span{color:var(--muted);margin-top:3px}
.recipe-add-line{display:grid;grid-template-columns:1.5fr .6fr .6fr;gap:10px;align-items:end}

@media(max-width:1000px){
 .permission-grid-wide,.override-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .permission-grid-wide,.override-grid-wide{grid-template-columns:1fr}
 .roster-board{grid-template-columns:repeat(7,240px)}
 .recipe-add-line{grid-template-columns:1fr}
}

/* ================= V10 COMPACT NAV + ROSTER + SUPPLIERS ================= */

/* Grouped backend navigation */
.nav-stack{position:sticky;top:73px;z-index:25;background:rgba(247,244,237,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.main-nav,.sub-nav{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:7px 12px}
.main-nav::-webkit-scrollbar,.sub-nav::-webkit-scrollbar{display:none}
.main-nav{border-bottom:1px solid rgba(222,215,200,.7)}
.main-nav-btn,.sub-nav-btn{flex:0 0 auto;border:0;border-radius:999px;background:transparent;padding:7px 10px;font-size:12px;font-weight:850;color:var(--muted)}
.main-nav-btn.active{background:var(--ink);color:#fff}
.sub-nav-btn.active{background:#e8dec9;color:var(--ink)}
.portal-hero{padding-top:20px}
.portal-hero h1{font-size:clamp(30px,4vw,44px)}

/* Access pages full width */
.access-full,.supplier-full,.ingredient-full,.recipe-full-width{width:100%;grid-column:1/-1}
.access-admin-shell>.card,.recipe-full-width,.supplier-full,.ingredient-full{max-width:none}

/* Truly full-width recipe page */
.recipe-admin-shell{display:block;width:100%;grid-column:1/-1}
.recipe-full-width{display:block;width:100%;max-width:none}

/* Customer search stays clean until searched */
.customer-search-results:empty{display:none}

/* Compact 7-day roster */
.roster-seven{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:visible}
.compact-day{min-width:0;min-height:190px;border-radius:12px}
.compact-day-head{padding:7px 8px;font-size:11px}
.compact-day-head strong{font-size:12px}
.compact-day-head span{font-size:10px}
.compact-day-shifts{padding:5px;gap:5px}
.compact-shift-card{padding:6px!important;border-radius:9px!important;gap:5px!important;font-size:10.5px}
.compact-shift-card strong{font-size:11px}
.compact-shift-card .small{font-size:9.5px}
.shift-mini-actions{display:flex;gap:3px}
.shift-mini-actions button{border:0;border-radius:6px;background:#f0e7d8;width:23px;height:23px;padding:0;font-size:11px}
.compact-drop{min-height:80px;font-size:10px}
.compact-roster-toolbar{margin-bottom:10px}
.compact-roster-toolbar h2{font-size:24px}
.compact-roster-toolbar .btn{padding:7px 10px}
.compact-staff-pool{padding:8px;gap:6px;margin-bottom:10px}
.compact-staff-chip{min-width:140px;padding:6px 8px;border-radius:10px;font-size:10.5px}
.compact-staff-chip strong{font-size:11px}
.compact-staff-chip small{font-size:9px}
.compact-staff-chip .chip-add{width:24px;height:24px;min-width:24px;font-size:11px}

/* Recipe/ingredient/supplier forms */
.recipe-add-line{grid-template-columns:minmax(180px,1.4fr) minmax(90px,.5fr) minmax(120px,.6fr)}
.supplier-full table,.ingredient-full table{font-size:12px}

@media(max-width:1100px){
 .roster-seven{grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto}
}
@media(max-width:760px){
 .nav-stack{top:70px}
 .roster-seven{grid-template-columns:repeat(7,150px);overflow-x:auto}
 .main-nav-btn,.sub-nav-btn{font-size:11px;padding:6px 9px}
}

/* ================= V11 MULTI-BRANCH / ORDERS / LOYALTY ================= */
.branch-full,.order-full{grid-column:1/-1;width:100%}
.branch-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.branch-admin-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:14px;display:flex;justify-content:space-between;gap:12px}
.branch-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.branch-contact-card{height:100%}
.branch-control-row{display:flex;align-items:end;justify-content:space-between;gap:12px}
.branch-control-row .field{min-width:240px;margin:0}

.loyalty-stamps .loyalty-stamp{position:relative;overflow:hidden;background:#fff;border:2px solid rgba(255,255,255,.75)}
.loyalty-stamp .stamp-cup{position:absolute;width:62%;height:62%;left:19%;top:19%;object-fit:contain;opacity:1}
.loyalty-stamp .stamp-logo{position:absolute;width:82%;height:82%;left:9%;top:9%;object-fit:contain;opacity:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.loyalty-stamp.used .stamp-cup{opacity:.5}
.loyalty-stamp.used .stamp-logo{opacity:.9}
.voucher-inline-code .barcode-panel{margin:12px 0 0;padding:12px;background:#fff;border-radius:15px}
.inline-barcode .barcode-svg{max-height:130px}

.customer-side-card{align-self:start;padding:16px}
.customer-side-card h2{font-size:22px;margin-bottom:8px}
.compact-offers{display:flex;flex-direction:column;gap:8px}
.compact-offer{border:1px solid var(--line);border-radius:13px;padding:9px 10px;background:#fff}
.compact-offer strong{font-size:13px;display:block}
.compact-offer span{font-size:11px;color:var(--muted);display:block;line-height:1.35;margin-top:2px;max-height:30px;overflow:hidden}
.compact-offer small{font-size:10px;color:var(--muted)}
.nearest-branch-card{margin-top:12px;border:1px solid var(--gold);background:#fff8e9;border-radius:15px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.nearest-branch-card strong{display:block;font-size:15px}

.order-request-grid{display:grid;grid-template-columns:1.3fr .45fr .45fr 1.3fr;gap:8px}
.bulk-order-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.bulk-order-controls select{width:auto;min-width:140px}
.order-full table input[type=checkbox]{width:16px;height:16px;appearance:auto;-webkit-appearance:auto}
.recipe-read-block{border:1px solid var(--line);border-radius:17px;background:#fffaf2;padding:16px;margin:12px 0}
.recipe-read-block p{white-space:pre-wrap;color:var(--muted);line-height:1.6}
.recipe-select{min-width:300px}

@media(max-width:800px){
 .branch-admin-grid{grid-template-columns:1fr}
 .branch-admin-card{flex-direction:column}
 .order-request-grid{grid-template-columns:1fr}
 .nearest-branch-card{align-items:flex-start;flex-direction:column}
}

/* ================= V12 PUBLIC SLIDESHOW / CONTACT / FIXES ================= */
.gallery-section-v12{overflow:hidden;background:#fffdf8}
.gallery-slideshow{max-width:1180px;margin:0 auto}
.gallery-stage{position:relative;aspect-ratio:16/8.5;min-height:380px;border-radius:32px;overflow:hidden;background:#1b1b18;box-shadow:0 28px 70px rgba(0,0,0,.14)}
.gallery-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.025);transition:opacity .65s ease,transform 1.1s ease;pointer-events:none}
.gallery-slide.active{opacity:1;transform:scale(1);pointer-events:auto}
.gallery-slide img{width:100%;height:100%;object-fit:cover}
.gallery-slide-overlay{position:absolute;inset:auto 0 0 0;padding:55px 28px 25px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.76))}
.gallery-slide-overlay span{font-size:12px;letter-spacing:.14em;opacity:.82}
.gallery-slide-overlay h3{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:5px 0 0}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(20,20,18,.45);color:#fff;font-size:34px;line-height:1}
.gallery-arrow.prev{left:18px}.gallery-arrow.next{right:18px}
.gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}
.gallery-thumb{border:2px solid transparent;border-radius:14px;background:#fff;padding:5px;text-align:left;overflow:hidden}
.gallery-thumb.active{border-color:var(--gold)}
.gallery-thumb img{width:100%;height:70px;object-fit:cover;border-radius:9px}
.gallery-thumb span{display:block;padding:5px 3px 2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Contact is now the final footer section */
.site-contact-footer{background:#171714;color:#fff;padding:48px clamp(18px,4vw,58px) 22px}
.footer-contact-head{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:1240px;margin:0 auto 22px}
.footer-contact-head h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:5px 0}
.footer-contact-head p{max-width:460px;color:#c7c0b3;line-height:1.55}
.footer-branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:14px;max-width:1240px;margin:0 auto}
.footer-branch-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:12px;background:#24241f;border:1px solid #3b3a33;border-radius:19px;padding:13px;min-height:205px}
.footer-branch-info{padding:4px}
.footer-branch-info h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:4px 0 8px}
.footer-branch-info p{font-size:12px;line-height:1.45;color:#e0d9cc;margin:0 0 9px}
.footer-contact-lines{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#c9c1b4}
.footer-contact-lines a{color:#fff;text-decoration:none}
.footer-map-wrap{display:flex;flex-direction:column;gap:7px;min-width:0}
.footer-map-wrap iframe{width:100%;height:142px;border:0;border-radius:12px;background:#ddd}
.compact-directions{width:100%;padding:7px 10px;font-size:11px}
.footer-bottom{max-width:1240px;margin:24px auto 0;padding-top:18px;border-top:1px solid #34332e;display:flex;align-items:center;gap:12px;color:#aaa293;font-size:11px}
.footer-bottom img{width:52px;height:52px;object-fit:contain}

/* Backend navigation reliability & fit */
.main-nav-btn,.sub-nav-btn{cursor:pointer}
.main-nav-btn:focus-visible,.sub-nav-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Inline menu item editor */
.inline-menu-edit{background:#fff8e8;border:1px solid rgba(181,138,39,.45)}
.menu-edit-list .list-item{transition:.15s}
button:disabled{opacity:.4;cursor:not-allowed}

/* Roster compact branch controls */
.branch-control-row .actions{flex-wrap:wrap}
.roster-subtabs .subtab{cursor:pointer}

/* Mobile */
@media(max-width:760px){
 .gallery-stage{aspect-ratio:4/3;min-height:300px;border-radius:22px}
 .gallery-slide-overlay h3{font-size:27px}
 .gallery-thumbs{grid-template-columns:repeat(3,1fr)}
 .gallery-thumb:nth-child(n+7){display:none}
 .footer-contact-head{align-items:flex-start;flex-direction:column}
 .footer-branch-grid{grid-template-columns:1fr}
 .footer-branch-card{grid-template-columns:1fr}
 .footer-map-wrap iframe{height:180px}
}

/* ================= V13 FRONT/ABOUT/REVIEWS/ROLE EDIT ================= */
.editable-hero .hero-image{background-image:linear-gradient(90deg,rgba(18,18,15,.14),rgba(18,18,15,.05)),var(--hero-custom-image);background-size:cover;background-position:center}
.editor-image-preview{margin-top:9px;width:min(520px,100%);height:220px;border-radius:17px;overflow:hidden;border:1px solid var(--line);background:#eee}
.editor-image-preview img{width:100%;height:100%;object-fit:cover}

.reviews-public{background:#f4eee3}
.review-public-head{margin-bottom:24px}
.review-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-public-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:21px;box-shadow:0 13px 30px rgba(0,0,0,.05)}
.review-public-card .review-stars{font-size:20px;color:var(--gold);letter-spacing:2px}
.review-public-card p{font-family:Georgia,serif;font-size:20px;line-height:1.5;margin:13px 0 20px}
.review-author{display:flex;flex-direction:column}
.review-author span{font-size:11px;color:var(--muted);margin-top:3px}
.review-public-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}

.review-admin-list{display:flex;flex-direction:column;gap:12px}
.review-admin-card{border:1px solid var(--line);border-radius:17px;padding:14px;background:#fff}
.review-admin-card p{line-height:1.5;color:var(--muted)}
.inline-review-edit{margin-top:12px;padding:14px;border-radius:14px;background:#fff7e6;border:1px solid rgba(181,138,39,.4)}

.role-list-v13{display:flex;flex-direction:column;gap:12px}
.role-card-v13{border:1px solid var(--line);border-radius:17px;padding:14px;background:#fff}
.role-permission-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.role-permission-summary span{font-size:10px;background:#eee8dc;border-radius:999px;padding:5px 8px}
.inline-role-edit{margin-top:14px;padding:16px;border:1px solid rgba(181,138,39,.45);border-radius:15px;background:#fff8e9}
.inline-role-edit .permission-grid{margin-top:12px}

/* Actual drinks-menu cup within loyalty circle */
.loyalty-stamp .stamp-cup{width:70%;height:70%;left:15%;top:15%;object-fit:contain;opacity:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.loyalty-stamp.used .stamp-cup{opacity:.5}

@media(max-width:850px){
 .review-public-grid{grid-template-columns:1fr}
}

/* ================= V14 BACKEND APP NAVIGATION ================= */
.backend-app-shell{
  max-width:none;
  width:100%;
  margin:0;
  min-height:100vh;
  padding-bottom:20px;
  background:#f6f2e9;
}
.backend-app-shell .portal-top{
  padding-left:max(16px,calc((100vw - 1600px)/2 + 16px));
  padding-right:max(16px,calc((100vw - 1600px)/2 + 16px));
}
.backend-layout{
  width:min(1600px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  align-items:start;
}
.backend-content{min-width:0;padding-bottom:40px}
.backend-sidebar{
  position:sticky;
  top:73px;
  align-self:start;
  height:calc(100vh - 73px);
  border-right:1px solid var(--line);
  background:#f0eadf;
}
.backend-sidebar-scroll{
  height:100%;
  overflow-y:auto;
  padding:14px 10px 24px;
}
.backend-side-group{
  margin:0 0 12px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(205,196,179,.65);
}
.backend-side-title{
  padding:6px 9px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#847b6e;
}
.backend-side-link{
  width:100%;
  border:0;
  border-radius:11px;
  background:transparent;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  margin:2px 0;
  text-align:left;
  color:#49443c;
  cursor:pointer;
}
.backend-side-link strong{font-size:12px}
.backend-side-link>span{width:18px;text-align:center}
.backend-side-link:hover{background:#e7dfd0}
.backend-side-link.active{
  background:#171714;
  color:#fff;
  box-shadow:0 7px 18px rgba(23,23,20,.14);
}
.backend-content .portal-hero{
  padding:22px 20px 7px;
}
.backend-content .grid{
  padding:14px 20px 20px;
}
.backend-content .portal-hero h1{
  font-size:clamp(30px,4vw,44px);
}

/* Mobile-only navigation components are hidden on desktop. */
.backend-mobile-subnav,.backend-bottom-nav{display:none}

/* Tablet */
@media(max-width:1000px){
 .backend-layout{grid-template-columns:184px minmax(0,1fr)}
 .backend-side-link{padding:8px 8px}
 .backend-side-link strong{font-size:11px}
}

/* Mobile app-style backend */
@media(max-width:760px){
 .backend-app-shell{
   padding-bottom:84px;
   background:#f7f4ed;
 }
 .backend-app-shell .portal-top{
   padding:8px 10px;
   gap:7px;
   min-height:58px;
 }
 .backend-app-shell .portal-brand img{width:38px;height:38px}
 .backend-app-shell .portal-brand>div{font-size:12px}
 .backend-app-shell .portal-brand .small{font-size:9px}
 .backend-app-shell .portal-top .btn{
   padding:7px 8px;
   font-size:10px;
 }
 .backend-layout{
   display:block;
   width:100%;
 }
 .backend-sidebar{display:none}
 .backend-content{padding-bottom:12px}
 .backend-content .portal-hero{
   padding:16px 12px 4px;
 }
 .backend-content .portal-hero h1{
   font-size:28px;
   margin-bottom:4px;
 }
 .backend-content .portal-hero p{font-size:11px}
 .backend-content .grid{
   padding:10px;
   gap:10px;
 }
 .backend-content .card{
   border-radius:17px;
   padding:13px;
 }
 .backend-content .card h2{font-size:18px}
 .backend-content input,
 .backend-content select,
 .backend-content textarea{
   padding:10px 11px;
   border-radius:11px;
   font-size:13px;
 }
 .backend-content .field{
   margin:9px 0;
   gap:5px;
 }
 .backend-content .field label{font-size:11px}
 .backend-content .btn{padding:9px 11px;font-size:11px}

 .backend-mobile-subnav{
   position:sticky;
   top:58px;
   z-index:27;
   display:flex;
   gap:6px;
   overflow-x:auto;
   scrollbar-width:none;
   padding:7px 9px;
   background:rgba(247,244,237,.97);
   border-bottom:1px solid var(--line);
   box-shadow:0 4px 12px rgba(0,0,0,.04);
 }
 .backend-mobile-subnav::-webkit-scrollbar{display:none}
 .backend-mobile-subnav button{
   flex:0 0 auto;
   min-width:72px;
   border:0;
   border-radius:12px;
   background:#ece5d8;
   padding:7px 9px;
   display:flex;
   align-items:center;
   justify-content:center;
   gap:5px;
   font-size:10px;
   font-weight:850;
   color:#514b42;
 }
 .backend-mobile-subnav button.active{
   background:#171714;
   color:#fff;
 }
 .backend-mobile-subnav button span{
   white-space:nowrap;
 }

 .backend-bottom-nav{
   position:fixed;
   left:0;right:0;bottom:0;
   z-index:50;
   display:grid;
   grid-template-columns:repeat(5,minmax(0,1fr));
   background:rgba(255,253,248,.98);
   border-top:1px solid var(--line);
   box-shadow:0 -8px 28px rgba(0,0,0,.09);
   padding:max(5px,env(safe-area-inset-bottom)) 5px calc(5px + env(safe-area-inset-bottom));
 }
 .backend-bottom-nav button{
   min-width:0;
   border:0;
   background:transparent;
   border-radius:12px;
   padding:5px 2px;
   display:flex;
   flex-direction:column;
   align-items:center;
   justify-content:center;
   gap:2px;
   font-size:8.5px;
   font-weight:850;
   color:#80786d;
 }
 .backend-bottom-nav button.active{
   color:#6f5418;
   background:#f3e8cf;
 }
 .backend-bottom-icon{font-size:16px;line-height:1.1}
}

/* Very narrow phones */
@media(max-width:390px){
 .backend-mobile-subnav button{min-width:64px;padding:6px 7px;font-size:9px}
 .backend-bottom-nav button{font-size:7.5px}
 .backend-bottom-icon{font-size:15px}
}

/* ================= V15 ROSTER COLOURS / AVAILABILITY / UNITS / VOUCHERS ================= */
.staff-name-badge{
 display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:8px;
 font-weight:900;font-size:11px;line-height:1.15;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)
}
.role-list-name{display:inline-flex;padding:6px 10px;border-radius:9px;font-weight:900}
.colour-picker-line{display:flex;align-items:center;gap:10px}
.colour-picker-line input[type=color]{width:58px;height:42px;padding:3px}
.role-colour-preview{padding:8px 12px;border-radius:9px;font-weight:900}

.availability-editor{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fffaf1}
.availability-table{display:flex;flex-direction:column;gap:6px}
.availability-row{display:grid;grid-template-columns:1.1fr .7fr .7fr;gap:10px;align-items:center;padding:7px 9px;border-radius:11px;background:#fff}
.availability-row .field{margin:0}
.availability-day{display:flex;align-items:center;gap:8px;font-size:12px}
.availability-day input{width:17px;height:17px;appearance:auto;-webkit-appearance:auto}
.role-display-field{min-height:43px;border:1px solid var(--line);background:#f9f7f1;border-radius:12px;padding:8px 10px;display:flex;align-items:center;gap:8px}
.availability-note{min-height:43px;border-radius:12px;padding:11px 12px;font-size:12px;font-weight:800}
.availability-note.available{background:#e8f5e9;color:#28582d}
.availability-note.unavailable{background:#fae9e7;color:#843b33}
.roster-time{display:block;margin-top:7px}

.unit-full{grid-column:1/-1;width:100%}
.inline-unit-edit,.inline-voucher-edit{margin-top:12px;padding:14px;border:1px solid rgba(181,138,39,.45);border-radius:14px;background:#fff8e8}

.voucher-admin-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.voucher-types-list{grid-column:1/-1}
.inline-voucher-edit{width:100%}
.recipe-add-line-v15{grid-template-columns:minmax(200px,1.4fr) minmax(100px,.5fr) minmax(100px,.5fr)}

@media(max-width:850px){
 .availability-row{grid-template-columns:1fr 1fr 1fr}
 .voucher-admin-layout{grid-template-columns:1fr}
 .voucher-types-list{grid-column:auto}
}
@media(max-width:600px){
 .availability-row{grid-template-columns:1fr 1fr}
 .availability-day{grid-column:1/-1}
 .recipe-add-line-v15{grid-template-columns:1fr}
}

/* V73.0.2 authenticated account label on the public website. */
.site-actions-v58 .nav-account-v73-0-2{
 max-width:190px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.mobile-menu-v58 .nav-account-v73-0-2{
 width:100%;
 max-width:100%;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

/* ================= V16 INLINE EDIT / FULL WIDTH / SUPPLIER GROUPS ================= */
.offers-admin-full,.website-editor-v16,.voucher-admin-layout-v16{
  width:100%;
  max-width:none;
  grid-column:1/-1;
}
.voucher-admin-layout-v16{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
}
.voucher-admin-layout-v16>.card{min-width:0}
.voucher-admin-layout-v16 .voucher-types-list{grid-column:1/-1}
.backend-content .grid>.voucher-admin-layout-v16,
.backend-content .grid>.website-editor-v16,
.backend-content .grid>.offers-admin-full{
  grid-column:1/-1;
}
.inline-record-edit{
  width:100%;
  margin-top:13px;
  padding:14px;
  border:1px solid rgba(181,138,39,.48);
  border-radius:14px;
  background:#fff8e8;
}
.record-add-card,.record-list-card{width:100%}
.record-list-card{margin-top:14px}
.record-description{margin:8px 0 10px}

.supplier-name-badge,.supplier-colour-preview{
  display:inline-flex;
  padding:6px 10px;
  border-radius:9px;
  font-weight:900;
}
.supplier-dot{
  display:inline-block;
  width:9px;height:9px;
  border-radius:50%;
  margin-right:6px;
  vertical-align:middle;
}
.supplier-order-groups{display:flex;flex-direction:column;gap:14px}
.supplier-order-group{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.supplier-order-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 13px;
  font-size:12px;
}
.supplier-order-head strong{font-size:13px}
.supplier-order-group table{margin:0}
.supplier-order-group .table-wrap{border-radius:0}

.website-editor-v16>.card{box-shadow:none;width:100%}
.website-editor-v16 .content-full{width:100%;max-width:none}
.content-subtabs{position:relative;z-index:2}

@media(max-width:850px){
 .voucher-admin-layout-v16{grid-template-columns:1fr}
 .voucher-admin-layout-v16 .voucher-types-list{grid-column:auto}
}

/* ================= V17 RECORDS-FIRST LAYOUT ================= */
.record-add-bottom{
  margin-top:22px;
  padding-top:18px;
  border-top:2px solid #e3dac9;
}
.record-add-bottom>h3{
  margin:0 0 12px;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:400;
}
.record-add-form{width:100%}
.booking-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.booking-branch-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 8px;
  border-radius:999px;
  background:#efe2c5;
  color:#5d4618;
  font-size:10px;
  font-weight:900;
}
.booking-branch-address{font-size:11px;color:var(--muted);margin-top:4px}
.branch-record-grid{grid-template-columns:1fr}
.branch-record-card{display:block}
.branch-record-card>.actions{margin-top:10px}
.voucher-admin-layout-v17{display:block;width:100%;grid-column:1/-1}
.voucher-admin-layout-v17>.voucher-types-list{width:100%;grid-column:auto}
.voucher-bottom-forms{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.voucher-bottom-forms>.card{width:100%;min-width:0}
.website-editor-v16 .record-add-bottom{background:#fffaf0;border-radius:14px;padding:16px;margin-top:18px;border-top:0}
.offers-admin-full .record-add-bottom{margin-top:14px}
@media(max-width:850px){
 .voucher-bottom-forms{grid-template-columns:1fr}
}

/* ================= V18 STOCKTAKE / BARCODE / MENU EDIT ================= */
.stocktake-full{grid-column:1/-1;width:100%}
.stocktake-scan-panel{
 display:grid;grid-template-columns:auto minmax(280px,1fr);gap:14px;align-items:end;
 padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffaf1
}
.stocktake-scan-panel .field{margin:0}
.stocktake-result{margin-top:16px;padding:18px;border-radius:17px;border:1px solid var(--line)}
.stocktake-result.known{background:#f4fbf4}
.stocktake-result.unknown{background:#fff6e8}
.stocktake-result h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:5px 0}
.barcode-register-line{display:flex;gap:7px}
.barcode-register-line input{min-width:0;flex:1}
.menu-list-tab-field{margin:0;min-width:220px}
.booking-branch-badge{white-space:nowrap}
@media(max-width:650px){
 .stocktake-scan-panel{grid-template-columns:1fr}
 .barcode-register-line{flex-direction:column}
}

/* ================= V19 GIFT / STOCKTAKE / BRANCH OFFERS ================= */
.offer-scope,.offer-admin-scope{margin-top:5px;font-size:10px;font-weight:850;color:#6c5623}
.offer-admin-scope{display:inline-flex;background:#f2e7cf;border-radius:999px;padding:5px 8px;margin-bottom:9px}
.stocktake-search-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.stocktake-method{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fffaf1}
.stocktake-method h3{font-family:Georgia,serif;font-size:20px;font-weight:400;margin:0 0 10px}
#stocktakeIngredientSelect{min-height:155px}
.voucher-admin-layout-v19{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;grid-column:1/-1}
.voucher-admin-layout-v19>.voucher-types-list,.voucher-admin-layout-v19>.gift-list-card,.voucher-admin-layout-v19>.gift-transactions-card,.voucher-admin-layout-v19>.voucher-bottom-forms{grid-column:1/-1}
.gift-mode-note,.gift-privacy-note{padding:10px 12px;border-radius:12px;background:#fff1cf;color:#654b14;font-size:11px;font-weight:750;margin:9px 0}
.gift-preview-card{margin-top:14px;padding:15px;border-radius:16px;border:1px solid #d7b85f;background:#fff9e8}
.gift-preview-card h3,.gift-validation-result h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:3px 0}
.gift-mini-barcode{background:white;border-radius:12px;padding:9px;margin:12px 0;overflow:auto}
.gift-mini-barcode svg{height:100px;width:100%}
.gift-validation-result{margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:15px}
.gift-validation-result.valid{background:#eef8ee;border-color:#b9d9b4}
.gift-validation-result.invalid{background:#fff0ee;border-color:#e4b7b0}
.gift-list-card,.gift-transactions-card{width:100%}
@media(max-width:850px){
 .stocktake-search-grid{grid-template-columns:1fr}
 .voucher-admin-layout-v19{grid-template-columns:1fr}
 .voucher-admin-layout-v19>*{grid-column:auto!important}
}

/* ================= V20 STOCKTAKE PERMISSION ================= */
.permission-check:has(input[id$="manage_stocktake"]),
.field:has(select[data-staff-override="manage_stocktake"]){
  outline-offset:2px;
}

/* ================= V21 LEAVE MANAGEMENT ================= */
.leave-page,.leave-full{width:100%;grid-column:1/-1}
.leave-page{display:block}
.leave-scope-tabs,.leave-time-tabs{margin-bottom:12px}
.leave-branch-filter{margin:0;min-width:210px}
.leave-records{display:flex;flex-direction:column;gap:10px}
.leave-record{
  border:1px solid var(--line);
  border-left:5px solid #d4a842;
  border-radius:15px;
  padding:13px;
  background:#fff;
}
.leave-record.approved{border-left-color:#5f9a66;background:#f8fcf8}
.leave-record.rejected{border-left-color:#b85d54;background:#fffafa}
.leave-title-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.leave-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.leave-status.pending{background:#fff0c8;color:#6e5316}
.leave-status.approved{background:#dff0e0;color:#28592e}
.leave-status.rejected{background:#f8ddda;color:#7b332c}
.leave-reason{margin:9px 0;font-size:12px;line-height:1.45}
.leave-locked-note{
  display:inline-flex;
  margin-top:8px;
  padding:6px 9px;
  border-radius:9px;
  background:#e7f3e8;
  color:#315e35;
  font-size:10px;
  font-weight:850;
}
.leave-record-actions{margin-top:10px}
.leave-apply-bottom{background:#fffaf0;border-radius:14px;padding:16px;border-top:0}
.leave-inline-edit{background:#fff9e8}
.leave-roster-card{
  padding:6px;
  border-radius:9px;
  border:1px dashed #d69d96;
  background:#fff0ee;
}
.leave-roster-card>div{display:flex;flex-direction:column;gap:3px}
.leave-roster-card strong{font-size:9px;color:#71362f}
.leave-roster-card span{font-size:8px;color:#8c554f}
.availability-note.leave-blocked{background:#fff0ee;color:#843b33}
.my-leave-roster-card{border-left:5px solid #5f9a66;background:#f4fbf4}
.my-leave-roster-card .leave-status{margin-top:7px}
@media(max-width:760px){
 .leave-branch-filter{width:100%;min-width:0}
 .leave-record>.row{align-items:flex-start}
 .leave-record-actions{display:grid;grid-template-columns:1fr 1fr}
 .leave-record-actions .btn{width:100%}
}

/* ================= V22 STAFF UPDATES ================= */
.staff-updates-page,.staff-updates-full{width:100%;grid-column:1/-1}
.staff-update-records{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.staff-update-record{
 border:1px solid var(--line);
 border-left:5px solid #b58a27;
 border-radius:15px;
 padding:13px;
 background:#fff;
}
.staff-update-record.expired{
 border-left-color:#aaa398;
 background:#faf8f4;
 opacity:.92;
}
.staff-update-message{
 margin:9px 0;
 font-size:13px;
 line-height:1.45;
 white-space:pre-wrap;
}
.staff-update-record>.actions{margin-top:10px}
.staff-update-inline{background:#fff9e8}
.notification-item .pill{font-size:8px}
@media(max-width:760px){
 .staff-update-record>.row{align-items:flex-start}
 .staff-update-record>.actions{display:grid;grid-template-columns:1fr 1fr}
 .staff-update-record>.actions .btn{width:100%}
}

/* ================= V23 PAY FIELDS + REPORTS ================= */
.staff-payroll-fields{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffaf1}
.staff-payroll-fields h3{margin:0 0 12px;font-family:Georgia,serif;font-size:18px;font-weight:400}
.form-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.percent-input{display:flex;align-items:center;gap:8px}
.percent-input input{flex:1;min-width:0}
.percent-input span{font-weight:850;color:var(--muted)}
.staff-payroll-summary{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;font-size:10px;color:var(--muted)}
.staff-payroll-summary strong{color:var(--ink)}
.reports-page,.report-controls,.report-panel{width:100%;grid-column:1/-1}
.report-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.report-tabs{margin-top:8px}
.report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.report-stat{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fffaf2}
.report-stat strong{display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.05}
.report-stat span{display:block;margin-top:5px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.report-stat small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}
.report-panel h3{margin-top:20px}
.report-note{margin-top:10px;padding:10px 12px;background:#f7f2e8;border-radius:12px;font-size:10px;color:var(--muted)}
@media(max-width:900px){
 .report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-filter-grid{grid-template-columns:1fr 1fr}
 .form-three{grid-template-columns:1fr}
}
@media(max-width:600px){
 .report-stats,.report-filter-grid{grid-template-columns:1fr}
}

/* ================= V24 NEW REPORTS ================= */
.roster-cost-table .day-heading td{
  background:#f3ead7;
  font-family:Georgia,serif;
  font-size:13px;
}
.roster-cost-table .daily-total td{background:#fbf7ef;font-weight:800}
.roster-cost-table .weekly-total td{background:#e9dcc0;font-weight:900}
.danger-pill{background:#f8ddda!important;color:#7b332c!important}
.report-panel .supplier-order-groups{margin-top:12px}
@media(max-width:900px){
  .roster-cost-table{min-width:1050px}
}

/* V25 login hotfix */
.login-card .btn.full{min-height:44px}

/* ================= V28 VOUCHER FULL WIDTH / AUDIT / CUP ================= */
.backend-content .grid>.voucher-admin-layout-v28{grid-column:1/-1;width:100%;max-width:none}
.voucher-admin-layout-v28>.voucher-bottom-forms-full{grid-column:1/-1!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px}
.voucher-bottom-forms-full>.voucher-add-type-full,.voucher-bottom-forms-full>.voucher-issue-full{grid-column:1/-1!important;width:100%!important;max-width:none!important;min-width:0}
.voucher-bottom-forms-full>.voucher-add-type-full form,.voucher-bottom-forms-full>.voucher-issue-full form{width:100%;max-width:none}
.stamp-circle{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.stamp-circle .stamp-cup-art{width:78%;height:78%;object-fit:contain;display:block;mix-blend-mode:multiply;transition:opacity .18s ease,transform .18s ease,filter .18s ease}
.stamp-circle.empty .stamp-cup-art{opacity:.20;filter:grayscale(1);transform:scale(.92)}
.stamp-circle.collected .stamp-cup-art{opacity:.88;filter:none;transform:scale(.98)}
.stamp-earned-mark{position:absolute;right:9%;bottom:8%;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#b58a27;color:#fff;font-size:12px;font-weight:900;border:2px solid #f7f4ed;box-shadow:0 2px 5px rgba(0,0,0,.18)}
.gift-audit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.gift-audit-grid>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.gift-audit-grid span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850}.gift-audit-grid strong{display:block;margin-top:3px;font-size:11px}.gift-admin-detail-table{min-width:1350px}
@media(max-width:600px){.stamp-circle .stamp-cup-art{width:74%;height:74%}.stamp-earned-mark{width:17px;height:17px;font-size:10px}.gift-audit-grid{grid-template-columns:1fr}}

/* ================= V29 SETTINGS / BRANCH UPDATES / V12 STAMPS ================= */
.loyalty-stamps .loyalty-stamp{position:relative;overflow:hidden;background:#fff;border:2px solid rgba(255,255,255,.75)}
.loyalty-stamp .stamp-cup{position:absolute;width:70%;height:70%;left:15%;top:15%;object-fit:contain;opacity:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.loyalty-stamp .stamp-logo{position:absolute;width:82%;height:82%;left:9%;top:9%;object-fit:contain;opacity:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.loyalty-stamp.used .stamp-cup{opacity:.5}.loyalty-stamp.used .stamp-logo{opacity:.9}
.stamp-circle .stamp-cup-art,.stamp-earned-mark{display:none!important}
.branch-updates-card{grid-column:1/-1}.branch-update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.branch-update-item{border:1px solid var(--line);border-radius:15px;padding:13px;background:#fffaf2}.branch-duty-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.branch-duty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:7px}.branch-duty-row:first-child{border-top:0;padding-top:0}.branch-duty-row>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.branch-duty-time{text-align:right}.branch-duty-time strong{display:block;font-size:12px}.duty-status{display:block;font-size:9px;color:var(--muted);margin-top:2px}.duty-status.live{color:#2f6e3a;font-weight:900}.compact-empty{padding:9px}
.settings-page,.settings-header-card,.settings-full{width:100%;grid-column:1/-1}.settings-subtabs{margin-top:12px;flex-wrap:wrap}.settings-nested-form{padding:0;border:0;background:transparent}.settings-nested-form>h2{display:none}.voucher-operations-v29>.voucher-issue-full{grid-column:1/-1;width:100%}
@media(max-width:760px){.branch-update-grid{grid-template-columns:1fr}.branch-duty-row{align-items:flex-start}.settings-subtabs{display:flex;overflow:auto;flex-wrap:nowrap}}

/* ================= V30 VOUCHER TABBED WORKSPACE ================= */
.voucher-workspace-v30{
  width:100%;
  grid-column:1/-1;
  display:grid;
  gap:14px;
}
.voucher-workspace-nav,
.voucher-workspace-panel,
.voucher-workspace-card{
  width:100%;
  grid-column:1/-1;
}
.voucher-workspace-nav{
  padding-bottom:10px;
}
.voucher-workspace-nav h2{
  margin-bottom:3px;
}
.voucher-workspace-tabs{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.voucher-workspace-panel>.card,
.voucher-workspace-panel>section{
  width:100%;
  max-width:none;
}
.voucher-workspace-panel .gift-generator-card,
.voucher-workspace-panel .gift-validation-card,
.voucher-workspace-panel .gift-list-card,
.voucher-workspace-panel .gift-transactions-card,
.voucher-workspace-panel .voucher-issue-full{
  width:100%;
  grid-column:1/-1;
  margin:0;
}
@media(max-width:700px){
  .voucher-workspace-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .voucher-workspace-tabs .subtab{
    white-space:nowrap;
    flex:0 0 auto;
  }
}

/* ================= V31 STAMP ART + GIFT CUSTOMER ASSIGNMENT ================= */

/* Keep the V12 circular stamp design; clean and soften the cup artwork. */
.loyalty-stamps .loyalty-stamp{
  overflow:hidden;
}
.loyalty-stamp .stamp-cup{
  width:72%;
  height:72%;
  left:14%;
  top:14%;
  object-fit:contain;
  opacity:.30 !important;
  filter:none !important;
  clip-path:circle(47% at 50% 50%);
  transform:scale(.94);
}
.loyalty-stamp.used .stamp-cup{
  opacity:.16 !important;
  transform:scale(.94);
}
.loyalty-stamp .stamp-logo{
  width:80%;
  height:80%;
  left:10%;
  top:10%;
  opacity:0;
  transform:rotate(-7deg) scale(.96);
  transform-origin:center;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.16));
}
.loyalty-stamp.used .stamp-logo{
  opacity:.86 !important;
  transform:rotate(-7deg) scale(.96);
}

/* Gift voucher assignment. */
.gift-customer-assignment{
  margin:14px 0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fffaf1;
}
.gift-customer-assignment h3{margin:0 0 3px}
.optional-label{
  font:700 8px Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.05em;
  background:#eee5d3;
  padding:3px 6px;
  border-radius:999px;
  vertical-align:middle;
}
.gift-record-assign-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff9ea;
}
.gift-admin-customer-table{min-width:1500px}
.customer-gift-section{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.customer-gift-stack{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.customer-gift-voucher{
  border:2px solid #b58a27;
  border-radius:18px;
  padding:15px;
  background:linear-gradient(145deg,#fffaf0,#f6eddb);
  box-shadow:0 5px 18px rgba(0,0,0,.06);
}
.customer-gift-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.customer-gift-top h3{
  margin:2px 0 3px;
  font:400 28px Georgia,serif;
}
.customer-gift-from{margin-top:10px;font-size:12px}
.customer-gift-message{
  margin:8px 0;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:14px;
}
.customer-gift-barcode{
  margin-top:12px;
  padding:10px;
  background:#fff;
  border-radius:10px;
}
.customer-gift-barcode svg{
  width:100%;
  height:64px;
}
.customer-gift-code{
  text-align:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  margin-top:5px;
}
.gift-audit-grid-v31{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){
  .gift-audit-grid-v31{grid-template-columns:1fr 1fr}
  .customer-gift-top{align-items:center}
}

/* ================= V32 NAVIGATION ORDER ================= */
.backend-sidebar .nav-group[data-group="dashboard"]{
  margin-top:0;
}

/* ================= V33 GIFT VOUCHER CLAIM / POST-GENERATION ASSIGN ================= */
.generated-gift-assignment-v33{
  margin-top:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff9ea;
}
.generated-gift-assignment-v33 h3{margin:0 0 4px}

.customer-gift-claim-card{
  margin-top:14px;
  padding:14px;
  border:1px dashed #b58a27;
  border-radius:14px;
  background:#fffdf8;
}
.customer-gift-claim-card h3{margin:0 0 4px}
.customer-gift-claim-actions{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:end;
  margin-top:10px;
}
.customer-gift-claim-actions form{margin:0}
.customer-gift-claim-actions .search-line{margin:0}
@media(max-width:650px){
  .customer-gift-claim-actions{grid-template-columns:1fr}
  .customer-gift-claim-actions .btn{width:100%}
}

/* ================= V34 SIMPLIFIED NAV ================= */
.backend-sidebar .nav-group:first-child{
  margin-top:0;
}

/* ================= V35 RECIPE DATA ================= */
.recipe-read-block .recipe-lines{
  margin-top:8px;
}
.recipe-read-block .recipe-line{
  min-height:34px;
}

/* ================= V36 SUPPLIER ORDER EMAIL ================= */
.supplier-ordering-form textarea,
.email-settings-v36 textarea{resize:vertical}

.email-security-note{
  margin:-2px 0 12px;
  padding:9px 10px;
  border-radius:10px;
  background:#fff4d8;
  color:#6c5317;
}

.order-email-help{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #d7c69c;
  border-radius:12px;
  background:#fffaf0;
  font-size:11px;
}

.supplier-order-head-v36{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.supplier-order-head-v36>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.supplier-order-head-v36 small{
  font-size:9px;
  opacity:.82;
  font-weight:600;
}
.order-email-btn{
  flex:0 0 auto;
  background:rgba(255,255,255,.88)!important;
  color:#171714!important;
  border-color:rgba(0,0,0,.16)!important;
}
.order-email-btn:disabled{opacity:.5}

@media(max-width:720px){
  .supplier-order-head-v36{
    align-items:flex-start;
    flex-direction:column;
  }
  .order-email-btn{width:100%}
}

/* ================= V37 GIFT VALUES / BACKUP / KIWISAVER ================= */
.form-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.staff-payroll-summary{flex-wrap:wrap}
.gift-value-settings .record-add-bottom{margin-top:16px}
.settings-warning{margin-top:8px;color:#8a5b12}
.backup-grid-v37{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.backup-card-v37{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fffaf2}
.backup-card-v37 h3{margin-top:0}
.backup-status-v37{padding:9px 10px;background:#edf6ea;border-radius:10px;font-size:11px;margin:8px 0}
.backup-note-v37{margin-top:10px;padding:9px;background:#fff3d6;border-radius:9px}
@media(max-width:900px){.form-four{grid-template-columns:1fr 1fr}.backup-grid-v37{grid-template-columns:1fr}}
@media(max-width:560px){.form-four{grid-template-columns:1fr}}

/* ================= V38 DAILY ORDERED LIST ================= */
.orders-workspace-v38{
  width:100%;
  grid-column:1/-1;
  display:grid;
  gap:14px;
}
.order-workspace-nav-v38{
  width:100%;
  margin:0;
}
.order-workspace-tabs-v38{
  margin-top:12px;
}
.daily-order-filter-grid-v38{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(170px,1fr) minmax(280px,1.4fr);
  gap:10px;
  align-items:end;
}
.daily-supplier-order-v38{
  overflow:hidden;
}
.daily-supplier-head-v38{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
}
.daily-supplier-head-v38 h3{
  margin:0 0 3px;
}
.daily-order-summary-v38{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  justify-content:flex-end;
  font-size:10px;
}
.order-status-pill-v38{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:9px;
  font-weight:900;
  background:color-mix(in srgb,var(--status-color) 16%,white);
  color:var(--status-color);
  border:1px solid color-mix(in srgb,var(--status-color) 48%,white);
}
.delivery-actions-v38{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  margin-bottom:10px;
  border-radius:12px;
  background:#fffaf0;
  border:1px solid #e3d5b1;
}
.daily-order-table-v38{
  min-width:1180px;
}
.daily-order-row-v38{
  box-shadow:inset 5px 0 0 var(--status-color);
}
.daily-order-row-v38 td{
  background:color-mix(in srgb,var(--status-color) 4%,white);
}
.daily-receive-qty-v38{
  width:90px;
  min-width:90px;
}
.tiny-btn-v38{
  padding:6px 8px!important;
  font-size:9px!important;
}
.order-color-grid-v38{
  margin-top:12px;
}
.order-color-field-v38 .colour-picker-line{
  align-items:center;
}
.order-status-preview-v38{
  padding:8px 13px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  min-width:90px;
  text-align:center;
}
@media(max-width:850px){
  .daily-order-filter-grid-v38{grid-template-columns:1fr}
  .daily-supplier-head-v38{flex-direction:column}
  .daily-order-summary-v38{justify-content:flex-start}
  .delivery-actions-v38{align-items:flex-start;flex-direction:column}
}

/* ================= V39 SETTINGS / LOW STOCK / ROSTER ================= */
.email-server-panel-v39{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffaf2}
.email-server-panel-v39 h3{margin-top:0}.voucher-settings-v39,.supplier-settings-v39{display:grid;gap:14px;width:100%;grid-column:1/-1}
.low-stock-order-panel-v39{width:100%;grid-column:1/-1}.low-stock-actions-v39{justify-content:space-between;margin:12px 0}.low-stock-badge-v39{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff0d2;color:#8a5b12;font-size:9px;font-weight:900}
.branch-low-stock-v39{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.low-stock-count-v39{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#fff0d2;color:#8a5b12;font-size:10px;font-weight:900}.branch-low-stock-list-v39{display:grid;gap:5px;margin-top:7px}.branch-low-stock-list-v39>div{display:flex;justify-content:space-between;gap:10px;font-size:10px}.branch-low-stock-list-v39 strong{white-space:nowrap}.low-stock-ok-v39{margin-top:6px;color:#397447}
@media(max-width:700px){.low-stock-actions-v39{align-items:flex-start;flex-direction:column}.low-stock-actions-v39 .btn{width:100%}.branch-low-stock-list-v39>div{align-items:flex-start;flex-direction:column;gap:1px}}

/* ================= V40 STAFF BRANCH LOCK ================= */
.staff-branch-lock-v40{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border:1px solid #d8c99f;
  border-radius:12px;
  background:#fffaf0;
  min-width:210px;
}
.staff-branch-lock-v40>span{
  width:28px;height:28px;border-radius:999px;
  display:grid;place-items:center;
  background:#efe2bd;
  flex:0 0 auto;
}
.staff-branch-lock-v40>div{
  display:grid;
  gap:1px;
}
.staff-branch-lock-v40 small{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
  opacity:.65;
}
.staff-branch-lock-v40 strong{font-size:12px}
.staff-branch-lock-v40 em{
  font-size:8px;
  font-style:normal;
  opacity:.62;
}
.staff-branch-dashboard-v40{
  width:100%;
  grid-column:1/-1;
}
.staff-branch-summary-v40{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}
.staff-branch-summary-v40>div{
  border:1px solid var(--line);
  border-radius:11px;
  padding:10px;
  display:grid;
  gap:4px;
}
.staff-branch-summary-v40 span{font-size:9px;opacity:.65}
.staff-branch-summary-v40 strong{font-size:15px}
.staff-low-stock-v40{margin-top:12px}
.staff-low-stock-v40>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}
.staff-low-stock-v40>div span{
  padding:5px 7px;
  background:#fff2d5;
  border-radius:8px;
  font-size:9px;
}
.branch-page-context-v40{
  margin-bottom:10px;
}
.compact-branch-filter-v40{
  max-width:360px;
  margin:0;
}
.offers-admin-full>.staff-branch-lock-v40,
.offers-admin-full>.compact-branch-filter-v40{
  margin-bottom:10px;
}
@media(max-width:650px){
  .staff-branch-summary-v40{grid-template-columns:1fr}
  .staff-branch-lock-v40{width:100%}
}

/* ================= V41 AUTOMATIC ORDER STATUS ================= */
.order-list-v41{min-width:1120px}
.order-workflow-row-v41.status-rejected td{background:#fff5f4}
.order-workflow-pill-v41{
  display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;
  font-size:9px;font-weight:900;border:1px solid #d9d1bf;background:#f7f2e8
}
.order-workflow-pill-v41.rejected{
  background:#fae5e2;border-color:#e4aaa2;color:#9c2d21
}
.daily-order-table-v41{min-width:1400px}

/* ================= V42 STOCK CONTROL ================= */
.stock-master-note-v42{
  margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff4d8;color:#765716;font-size:10px
}
.stocktake-system-box-v42{
  display:inline-grid;gap:3px;padding:10px 12px;border-radius:12px;background:#f1ead8;margin-top:8px
}
.stocktake-system-box-v42 span{font-size:9px;opacity:.7}
.stocktake-system-box-v42 strong{font-size:17px}
.audit-table-v42,.variance-table-v42{min-width:1300px}
.variance-negative-v42{color:#a12828}
.variance-positive-v42{color:#2d6d38}
.approval-reason-v42{
  margin:10px 0;padding:10px 12px;border-left:4px solid #b58a27;background:#fff8e6;font-size:10px
}
.po-audit-grid-v42{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0
}
.po-audit-grid-v42>span{
  display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:10px;font-size:9px
}
.po-audit-grid-v42 strong{font-size:12px}
.po-history-card-v42{overflow:hidden}
.daily-order-table-v42{min-width:1750px}
.daily-order-table-v42 input[type=file]{width:160px;font-size:9px}
.dashboard-audit-v42{grid-column:1/-1}
.dashboard-audit-row-v42{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:10px
}
.dashboard-audit-row-v42:first-of-type{border-top:0}
.supplier-settings-v42{display:grid;gap:14px}
@media(max-width:900px){
  .po-audit-grid-v42{grid-template-columns:1fr 1fr}
  .dashboard-audit-row-v42{grid-template-columns:1fr}
}

/* ================= V43 FULL-WIDTH ORDERS + PRINT ACTION ================= */

/* The v39/v42 Orders wrapper was a grid child without a grid-column declaration.
   Force the entire Orders hierarchy to occupy all 12 backend grid columns. */
.backend-content .grid > .orders-workspace-v39,
.backend-content .grid > .orders-workspace-v38,
.orders-workspace-v39,
.orders-workspace-v38,
.orders-content-full-v43 .orders-workspace-v39,
.orders-content-full-v43 .orders-workspace-v38{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.orders-content-full-v43 .grid{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
}
.orders-content-full-v43 .grid > *,
.orders-content-full-v43 .card,
.orders-content-full-v43 .order-full,
.orders-content-full-v43 .low-stock-order-panel-v39,
.orders-content-full-v43 .supplier-order-group,
.orders-content-full-v43 .daily-supplier-order-v38,
.orders-content-full-v43 .po-history-card-v42,
.orders-content-full-v43 .report-controls{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.orders-content-full-v43 .supplier-order-groups{
  width:100%!important;
  max-width:none!important;
}
.orders-content-full-v43 .table-wrap{
  width:100%!important;
  max-width:100%!important;
}

.backend-record-toolbar-v43{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:100%;
  padding:12px 20px 0;
}
.backend-record-toolbar-v43 .btn{
  min-width:108px;
}

@media(max-width:760px){
  .backend-record-toolbar-v43{
    padding:9px 10px 0;
  }
  .backend-record-toolbar-v43 .btn{
    width:100%;
  }
  .orders-content-full-v43 .backend-content .grid,
  .orders-content-full-v43 .grid{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

/* ================= V44 COMPACT ORDER LIST ================= */

.order-list-compact-v44{
  overflow:visible!important;
}
.order-list-title-row-v44{
  align-items:flex-start;
}
.order-list-tabs-v44{
  margin-top:12px;
}
.order-card-groups-v44{
  display:grid;
  gap:14px;
  width:100%;
}
.supplier-order-group-v44{
  width:100%;
  max-width:none!important;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
}
.supplier-order-head-v44{
  padding:11px 13px!important;
}
.supplier-head-actions-v44{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.supplier-select-label-v44{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:9px;
  font-weight:800;
  background:rgba(255,255,255,.76);
  color:#171714;
  padding:6px 8px;
  border-radius:9px;
}
.order-item-card-list-v44{
  display:grid;
  width:100%;
}
.order-item-card-v44{
  width:100%;
  padding:10px 12px;
  border-top:1px solid var(--line);
  background:#fff;
}
.order-item-card-v44:first-child{
  border-top:0;
}
.order-item-card-v44.is-archived{
  background:#faf9f5;
}
.order-item-main-v44{
  display:grid;
  grid-template-columns:24px minmax(220px,2.2fr) minmax(100px,.8fr) minmax(100px,.8fr) minmax(180px,1.4fr);
  align-items:center;
  gap:10px;
  width:100%;
}
.order-item-check-v44{
  display:flex;
  justify-content:center;
}
.order-check-spacer-v44{
  width:14px;
}
.order-item-identity-v44{
  min-width:0;
}
.order-item-identity-v44>strong{
  display:block;
  font-size:12px;
  margin-bottom:3px;
}
.order-item-codes-v44{
  display:flex;
  flex-wrap:wrap;
  gap:5px 12px;
  font-size:8px;
  color:var(--muted);
}
.order-item-codes-v44 b{
  color:var(--ink);
  font-weight:700;
}
.order-item-qty-v44,
.order-item-status-v44{
  display:grid;
  gap:3px;
}
.order-item-qty-v44 small,
.order-item-status-v44 small{
  font-size:8px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.order-item-actions-v44{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.compact-btn-v44{
  padding:6px 8px!important;
  min-height:30px!important;
  font-size:8.5px!important;
  white-space:nowrap;
}
.order-item-meta-v44{
  display:flex;
  flex-wrap:wrap;
  gap:4px 18px;
  margin:8px 0 0 34px;
  padding-top:7px;
  border-top:1px dashed #ddd6c8;
  font-size:8.5px;
  color:#615c53;
}
.order-item-meta-v44 span{
  min-width:0;
}
.order-item-meta-v44 b{
  color:#2b2925;
}
.order-list-compact-v44 .table-wrap{
  overflow:visible!important;
}
.order-list-compact-v44 .supplier-order-groups{
  overflow:visible!important;
}

@media(max-width:1050px){
  .order-item-main-v44{
    grid-template-columns:24px minmax(180px,2fr) minmax(90px,.7fr) minmax(90px,.7fr);
  }
  .order-item-actions-v44{
    grid-column:2/-1;
    justify-content:flex-start;
  }
}
@media(max-width:700px){
  .supplier-order-head-v44{
    flex-direction:column;
    align-items:stretch!important;
  }
  .supplier-head-actions-v44{
    width:100%;
  }
  .supplier-head-actions-v44 .order-email-btn{
    flex:1;
  }
  .order-item-main-v44{
    grid-template-columns:22px minmax(0,1fr);
    align-items:start;
  }
  .order-item-qty-v44,
  .order-item-status-v44,
  .order-item-actions-v44{
    grid-column:2;
  }
  .order-item-qty-v44,
  .order-item-status-v44{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .order-item-actions-v44{
    justify-content:flex-start;
  }
  .order-item-meta-v44{
    margin-left:30px;
    display:grid;
    gap:4px;
  }
}

/* ================= V45 RECIPE / GIFT REPORTS / DASHBOARD LOW STOCK ================= */

.recipe-ingredients-block-v45{
  margin-top:16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fffdf8;
}
.recipe-ingredients-block-v45 h3,
.recipe-add-direct-v45 h4{margin:0}
.recipe-add-direct-v45{
  margin-top:10px;
  padding-top:12px;
  border-top:1px dashed #d8cfbd;
}
.recipe-add-direct-v45 h4{
  margin-bottom:8px;
}
.recipe-quick-create-v45{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#f8f5ee;
}
.recipe-quick-create-v45 summary{
  cursor:pointer;
  font-weight:800;
  font-size:10px;
}
.recipe-quick-create-v45 form{margin-top:10px}

.gift-report-table-v45{min-width:1280px}
.gift-report-table-v45 .actions{flex-wrap:wrap}

.branch-overview-grid-v45{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.branch-overview-card-v45{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.branch-overview-head-v45{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.branch-overview-head-v45 h3{margin:0 0 3px}

.branch-staff-box-v45{
  padding:10px;
  border:1px solid #d9d4c8;
  border-radius:12px;
  background:#faf8f2;
}
.branch-staff-list-v45{
  display:grid;
  gap:6px;
  margin-top:7px;
}
.branch-staff-list-v45>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-top:6px;
  border-top:1px solid #e7e1d6;
}
.branch-staff-list-v45>div:first-child{
  padding-top:0;
  border-top:0;
}
.branch-staff-list-v45 span{
  display:grid;
  gap:1px;
}
.branch-staff-list-v45 small{
  font-size:8px;
  opacity:.65;
}
.branch-staff-list-v45 b{
  font-size:9px;
  white-space:nowrap;
}

.branch-low-stock-box-v45{
  margin-top:10px;
  padding:10px;
  border:1px solid #e1b95a;
  border-radius:12px;
  background:#fff7df;
}
.branch-low-stock-box-v45 h4{
  margin:2px 0 0;
  font-size:12px;
}
.branch-low-stock-list-v45{
  display:grid;
  gap:5px;
  margin-top:7px;
}
.branch-low-stock-list-v45>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:5px;
  border-top:1px solid #ecd9a4;
}
.branch-low-stock-list-v45>div:first-child{
  padding-top:0;
  border-top:0;
}
.branch-low-stock-list-v45 strong{font-size:9px}
.branch-low-stock-list-v45 span{font-size:8px;color:#6d5c31;text-align:right}
.branch-low-stock-clear-v45{
  margin-top:7px;
  font-size:9px;
  color:#4e704f;
}
.branch-audit-mini-v45{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
}
.branch-audit-mini-v45 span{
  padding:8px;
  border:1px solid var(--line);
  border-radius:9px;
  font-size:8px;
}
.branch-audit-mini-v45 strong{
  display:block;
  margin-top:2px;
  font-size:11px;
}
.staff-dashboard-sections-v45{
  margin-top:12px;
}
@media(max-width:850px){
  .branch-overview-grid-v45{grid-template-columns:1fr}
}
@media(max-width:560px){
  .branch-audit-mini-v45{grid-template-columns:1fr}
  .branch-low-stock-list-v45>div{align-items:flex-start;flex-direction:column}
  .branch-low-stock-list-v45 span{text-align:left}
}

/* ================= V46 SUPPLIERS / MENU PHOTOS / TABLES / BOOKINGS ================= */

.supplier-kitchen-v46{
  grid-column:1/-1;
  width:100%;
  display:grid;
  gap:14px;
}
.supplier-kitchen-v46>.card,
.supplier-kitchen-v46>.supplier-settings-v39,
.supplier-kitchen-v46>.supplier-settings-v42{
  width:100%!important;
  max-width:none!important;
}

.table-number-grid-v46{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}
.table-number-card-v46{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:#fffdf8;
}
.table-number-card-v46 strong{
  font-size:17px;
}

.menu-photo-setting-v46 form{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.menu-photo-admin-item-v46{
  padding:10px!important;
}
.menu-photo-admin-summary-v46{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.menu-photo-admin-summary-v46>img,
.menu-photo-placeholder-v46{
  width:90px;
  height:70px;
  border-radius:10px;
  object-fit:cover;
}
.menu-photo-placeholder-v46{
  display:grid;
  place-items:center;
  background:#eee9df;
  font-size:9px;
  color:#81796b;
}
.menu-photo-admin-copy-v46{
  min-width:0;
}
.menu-photo-edit-preview-v46{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:8px;
}
.menu-photo-edit-preview-v46 img{
  width:150px;
  height:105px;
  object-fit:cover;
  border-radius:12px;
}

.public-menu-photo-layout-v46{
  display:grid;
  gap:30px;
}
.public-menu-photo-section-v46>h3{
  margin:0 0 14px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(23,23,20,.14);
}
.public-menu-photo-grid-v46{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.public-menu-photo-card-v46{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  min-height:122px;
  overflow:hidden;
  border:1px solid rgba(23,23,20,.10);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 28px rgba(23,23,20,.06);
}
.public-menu-photo-card-v46:not(:has(.public-menu-photo-v46)){
  grid-template-columns:1fr;
}
.public-menu-photo-v46{
  min-height:122px;
}
.public-menu-photo-v46 img{
  width:100%;
  height:100%;
  min-height:122px;
  object-fit:cover;
  display:block;
}
.public-menu-photo-copy-v46{
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.public-menu-photo-title-v46{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.public-menu-photo-title-v46 strong{
  font-family:Georgia,serif;
  font-size:17px;
}
.public-menu-photo-title-v46 span{
  white-space:nowrap;
  color:#8b681b;
  font-weight:800;
}
.public-menu-photo-copy-v46 p{
  margin:7px 0 0;
  color:#6b675f;
  font-size:12px;
  line-height:1.45;
}

.booking-table-assignment-v46{
  display:grid;
  grid-template-columns:minmax(180px,300px) auto;
  gap:10px;
  align-items:end;
  margin-top:10px;
  padding:10px;
  border-radius:12px;
  background:#fff8e6;
  border:1px solid #e6d3a1;
}
.booking-table-assignment-v46 .field{
  margin:0;
}
.table-pill-v46{
  background:#f5e4ad!important;
  color:#5e4611!important;
}

@media(max-width:900px){
  .table-number-grid-v46{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-menu-photo-grid-v46{grid-template-columns:1fr}
}
@media(max-width:650px){
  .menu-photo-admin-summary-v46{
    grid-template-columns:72px minmax(0,1fr);
  }
  .menu-photo-admin-summary-v46>img,
  .menu-photo-placeholder-v46{
    width:72px;height:62px;
  }
  .menu-photo-admin-summary-v46>.actions{
    grid-column:1/-1;
  }
  .public-menu-photo-card-v46{
    grid-template-columns:100px minmax(0,1fr);
  }
  .booking-table-assignment-v46{
    grid-template-columns:1fr;
  }
}
@media(max-width:460px){
  .table-number-grid-v46{grid-template-columns:1fr}
  .public-menu-photo-card-v46{
    grid-template-columns:1fr;
  }
  .public-menu-photo-v46,
  .public-menu-photo-v46 img{
    height:170px;
  }
}

/* ================= V47 BOOKING OPERATIONS ================= */

.booking-public-v47 .booking-form{max-width:1000px;margin:0 auto}
.booking-access-needs-v47{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.booking-action-banner-v47{padding:12px 18px;background:#fff4d7;border-bottom:1px solid #dfc77f;text-align:center;font-weight:700}
.booking-action-banner-v47.success{background:#eaf4e7;border-color:#a8c9a1}
.booking-action-banner-v47.error{background:#fae9e7;border-color:#daa7a1}

.booking-workspace-v47{grid-column:1/-1;width:100%;display:grid;gap:14px}
.booking-workspace-head-v47{width:100%;max-width:none!important}
.booking-tabs-v47{margin-top:12px}
.quick-booking-v47 summary{cursor:pointer;font-weight:800}
.quick-booking-v47 form{margin-top:12px}
.booking-planner-date-v47 .field{max-width:240px;margin:0}

.booking-table-planner-grid-v47{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px
}
.booking-table-planner-card-v47{
  padding:11px;border:1px solid var(--line);border-radius:13px;background:#f4faf2
}
.booking-table-planner-card-v47.reserved{background:#fff6dc;border-color:#dfbd63}
.booking-table-planner-card-v47.seated{background:#f8e6e2;border-color:#d69a8d}
.booking-table-planner-card-v47.inactive{background:#efefec;color:#777}
.planner-booking-lines-v47{display:grid;gap:5px;margin-top:9px}
.planner-booking-lines-v47>div{display:flex;justify-content:space-between;gap:8px;padding-top:5px;border-top:1px solid rgba(0,0,0,.08);font-size:9px}

.booking-card-list-v47{display:grid;gap:11px;margin-top:10px}
.requested-booking-list-v80 .booking-title-line>strong{display:inline-block;padding:7px 10px;border-radius:9px;background:#fff1bd;color:#4f3900;font-size:17px;line-height:1.25;box-shadow:inset 0 0 0 1px #dfbd63}
.past-booking-list-v80{gap:7px}
.past-booking-compact-v80{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:inset 4px 0 0 #a8a39a}
.past-booking-compact-v80.status-confirmed{box-shadow:inset 4px 0 0 #b58a27}.past-booking-compact-v80.status-canceled,.past-booking-compact-v80.status-no-show{box-shadow:inset 4px 0 0 #999}.past-booking-compact-v80.status-completed{box-shadow:inset 4px 0 0 #49794d}.past-booking-compact-v80.status-requested{box-shadow:inset 4px 0 0 #c7b88f}
.past-booking-compact-v80>summary{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(220px,1.7fr) auto 22px;gap:12px;align-items:center;padding:10px 13px;cursor:pointer;list-style:none}
.past-booking-compact-v80>summary::-webkit-details-marker{display:none}.past-booking-compact-v80>summary:hover{background:#faf7f0}.past-booking-compact-v80[open]>summary{background:#faf7f0;border-bottom:1px solid var(--line)}
.past-booking-date-v80,.past-booking-customer-v80{display:grid;gap:2px;min-width:0}.past-booking-date-v80 small,.past-booking-customer-v80 small{color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.past-booking-expand-v80{font-size:18px;line-height:1;transition:transform .15s ease}.past-booking-compact-v80[open] .past-booking-expand-v80{transform:rotate(180deg)}
.past-booking-details-v80{padding:12px 14px}.past-booking-note-v80{display:grid;gap:4px;margin-top:10px;padding:9px;border-radius:9px;background:#f7f3ea;font-size:10px}
.booking-past-settings-v80 form{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:12px;align-items:end}.booking-past-settings-v80 .field{margin:0}.booking-past-settings-v80 .btn{margin-bottom:1px}
@media(max-width:700px){.requested-booking-list-v80 .booking-title-line>strong{font-size:15px;width:100%}.past-booking-compact-v80>summary{grid-template-columns:1fr auto 18px}.past-booking-date-v80{grid-column:1}.past-booking-customer-v80{grid-column:1}.past-booking-compact-v80>summary>.pill{grid-column:2;grid-row:1/3}.past-booking-expand-v80{grid-column:3;grid-row:1/3}.booking-past-settings-v80 form{grid-template-columns:1fr}.booking-past-settings-v80 .btn{width:100%}}
.booking-card-v47{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:inset 4px 0 0 #c7b88f}
.booking-card-v47.status-confirmed{box-shadow:inset 4px 0 0 #b58a27}
.booking-card-v47.status-seated{box-shadow:inset 4px 0 0 #a74a3a}
.booking-card-v47.status-completed{box-shadow:inset 4px 0 0 #49794d}
.booking-card-v47.status-waitlist{box-shadow:inset 4px 0 0 #7a6ba6}
.booking-card-v47.status-canceled,.booking-card-v47.status-no-show{opacity:.78}
.booking-card-v47.status-voided,.past-booking-compact-v80.status-voided{opacity:.78;box-shadow:inset 4px 0 0 #57534d;background:#f1f0ed}
.booking-card-head-v47{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.booking-status-v47.confirmed{background:#fff0c8!important}.booking-status-v47.seated{background:#f5d8d2!important}.booking-status-v47.completed{background:#dcebdc!important}.booking-status-v47.waitlist{background:#ebe5fa!important}.booking-status-v47.canceled,.booking-status-v47.no-show{background:#eee!important}
.booking-status-v47.voided{background:#4f4b45!important;color:#fff!important}
.booking-contact-grid-v47{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}
.booking-contact-grid-v47>span{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:10px;font-size:8px;color:#777}
.booking-contact-grid-v47 strong{font-size:10px;color:var(--ink);overflow-wrap:anywhere}
.booking-requirements-v47{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}
.booking-requirements-v47 span{background:#fff5db;border-radius:999px;padding:5px 8px;font-size:8px}

.booking-table-assignment-v47{margin-top:10px;padding:10px;border-radius:12px;background:#fffaf0;border:1px solid #e4d4a9}
.booking-recommendations-v47{margin-bottom:9px}
.booking-recommendation-chips-v47{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.booking-no-table-v47{padding:8px;background:#fae8e5;color:#8e2e23;border-radius:9px;margin-top:6px;font-size:9px}
.booking-table-planner-inline-v47{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:8px 0}
.booking-table-choice-v47{display:flex;gap:7px;padding:8px;border:1px solid #b9d5b2;border-radius:10px;background:#f1f8ef;cursor:pointer}
.booking-table-choice-v47.busy{background:#fff0df;border-color:#ddb17b}
.booking-table-choice-v47.inactive{background:#eee;color:#888;border-color:#ccc}
.booking-table-choice-v47 span{display:grid;gap:1px}.booking-table-choice-v47 small{font-size:8px}.booking-table-choice-v47 em{font-size:8px;font-style:normal;opacity:.7}
.booking-internal-v47{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:8px}
.booking-internal-v47 .field{margin:0}
.booking-actions-v47{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.booking-primary-actions-v81{align-items:center;gap:5px;margin-top:7px}.booking-primary-actions-v81 .btn{width:auto!important;min-height:32px;padding:7px 10px!important;font-size:9px!important;white-space:nowrap}.void-booking-v81{background:#4f4b45!important;border-color:#4f4b45!important;color:#fff!important}.void-booking-v81:hover{background:#2f2c28!important;border-color:#2f2c28!important}
@media(max-width:760px){.booking-primary-actions-v81{display:flex!important;flex-wrap:wrap!important}.booking-primary-actions-v81 .btn{flex:1 1 auto}}
.booking-audit-v47{margin-top:9px;border-top:1px dashed #ddd;padding-top:7px}
.booking-audit-v47 summary{cursor:pointer;font-size:9px;font-weight:800}.booking-audit-v47 p{font-size:8px;margin:6px 0;padding-left:8px;border-left:2px solid #ddd}

.table-number-grid-v47{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.table-number-card-v47{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fffdf8}
.table-number-card-v47.inactive{opacity:.65;background:#f0f0ee}
.table-card-summary-v47{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.table-card-summary-v47 strong{display:block;font-size:16px;margin-top:2px}

.booking-report-table-v47{min-width:1350px}

@media(max-width:1100px){
  .booking-table-planner-grid-v47{grid-template-columns:repeat(3,minmax(0,1fr))}
  .booking-table-planner-inline-v47{grid-template-columns:repeat(3,minmax(0,1fr))}
  .table-number-grid-v47{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .booking-card-head-v47{flex-direction:column}
  .booking-contact-grid-v47{grid-template-columns:1fr 1fr}
  .booking-table-planner-grid-v47,.booking-table-planner-inline-v47{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-internal-v47{grid-template-columns:1fr}
}
@media(max-width:520px){
  .booking-contact-grid-v47,.booking-table-planner-grid-v47,.booking-table-planner-inline-v47,.table-number-grid-v47{grid-template-columns:1fr}
}

/* ================= V48 VOUCHER CONTROL ================= */

.approval-toggle-v48{
  display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d8b760;border-radius:12px;background:#fff7df;margin:10px 0
}
.approval-toggle-v48 input{margin-top:3px}
.approval-toggle-v48 span{display:grid;gap:3px}
.approval-toggle-v48 small{font-size:9px;color:#695827}
.pending-voucher-v48{border-color:#d6aa3f!important;background:#fff9e8!important}
.voucher-approval-audit-v48{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}
.voucher-approval-audit-v48 span{display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:9px;font-size:8px}
.voucher-redeem-summary-v48{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0}
.voucher-redeem-summary-v48>div{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:10px}
.voucher-redeem-summary-v48 span{font-size:8px;color:#777}.voucher-redeem-summary-v48 strong{font-size:10px}
.voucher-policy-row-v48{display:block!important}
.voucher-branch-checks-v48{display:flex;flex-wrap:wrap;gap:7px}
.gift-report-table-v48{min-width:1500px}
.customer-prepaid-meta-v48{display:flex;flex-wrap:wrap;gap:6px 14px;padding:8px 10px;background:#f8f5ec;font-size:8px}
.customer-voucher-history-v48{margin:7px 10px 10px}
.customer-voucher-history-v48 summary{cursor:pointer;font-size:9px;font-weight:800}
.customer-voucher-history-v48>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid #eee5d5;font-size:8px}
.customer-voucher-history-v48 span{color:#777}
.voucher-security-alerts-v48{display:grid;gap:7px}
.voucher-security-alerts-v48>div{display:grid;gap:3px;padding:10px;border-radius:10px;background:#f4f1e9;border-left:4px solid #aaa}
.voucher-security-alerts-v48>div.high{background:#fae7e4;border-color:#b23b31}
.voucher-security-alerts-v48>div.medium{background:#fff1d7;border-color:#d49b2c}
.voucher-security-alerts-v48>div.info{background:#eaf0f8;border-color:#5b7da5}
.voucher-security-alerts-v48 span{font-size:9px}
.dashboard-voucher-alerts-v48{grid-column:1/-1}
.voucher-dashboard-grid-v48{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.voucher-dashboard-grid-v48>div{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px}
.voucher-dashboard-grid-v48 span{font-size:8px}.voucher-dashboard-grid-v48 b{display:block;margin-top:2px;font-size:11px}

@media(max-width:900px){
  .voucher-approval-audit-v48,.voucher-redeem-summary-v48{grid-template-columns:1fr 1fr}
  .voucher-dashboard-grid-v48{grid-template-columns:1fr}
  .voucher-dashboard-grid-v48>div{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .voucher-approval-audit-v48,.voucher-redeem-summary-v48{grid-template-columns:1fr}
  .voucher-dashboard-grid-v48>div{grid-template-columns:1fr}
}

/* ================= V49 GLOBAL VOUCHER APPROVAL ================= */
.voucher-manager-approval-setting-v49{
  margin-bottom:12px;
}
.voucher-manager-approval-setting-v49 .approval-toggle-v48{
  margin:0;
}
.voucher-global-approval-notice-v49{
  display:grid;
  gap:3px;
  padding:10px 12px;
  margin:10px 0 12px;
  border:1px solid #d6ad49;
  border-radius:11px;
  background:#fff7df;
  color:#5f4a17;
}
.voucher-global-approval-notice-v49 strong{
  font-size:10px;
}
.voucher-global-approval-notice-v49 span{
  font-size:9px;
}

/* ================= V50 VOUCHER EXPIRY YEARS ================= */
.voucher-expiry-help-v50{
  display:grid;
  gap:4px;
  padding:11px 12px;
  margin-bottom:12px;
  border:1px solid #d7c394;
  border-radius:11px;
  background:#fffaf0;
}
.voucher-expiry-help-v50 strong{
  font-size:10px;
}
.voucher-expiry-help-v50 span{
  font-size:9px;
  color:#655d4d;
  line-height:1.45;
}

/* ================= V51 DYNAMIC GIFT VOUCHER TYPES ================= */
.gift-type-config-v51{
  margin:10px 0 12px;
  padding:11px;
  border:1px solid #d8c28b;
  border-radius:12px;
  background:#fffaf0;
}
.gift-value-records-v51{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:6px;
}
.gift-value-record-check-v51{
  display:flex;
  gap:7px;
  align-items:flex-start;
  padding:8px;
  border:1px solid #ded3b8;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.gift-value-record-check-v51 span{display:grid;gap:2px}
.gift-value-record-check-v51 strong{font-size:9px}
.gift-value-record-check-v51 small{font-size:8px;color:#746a56}
.voucher-type-rule-v51{
  display:grid;
  gap:2px;
  padding:8px 10px;
  margin:0 0 10px;
  border-radius:9px;
  background:#f6f1e6;
  font-size:9px;
}
.voucher-type-rule-v51 strong{color:#755a13}
.voucher-type-config-summary-v51{
  display:flex;
  flex-wrap:wrap;
  gap:7px 16px;
  margin:8px 0;
  padding:8px 10px;
  border-radius:9px;
  background:#faf6ea;
  font-size:8px;
}
.voucher-type-config-summary-v51 small{width:100%;color:#776e5b}
@media(max-width:900px){
  .gift-value-records-v51{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .gift-value-records-v51{grid-template-columns:1fr}
}

/* ================= V52 CHECKBOX DISPLAY FIX =================
   Global input styling sets width:100%, padding and appearance:none.
   These controls must explicitly restore native checkbox rendering.
   ============================================================ */

.approval-toggle-v48 > input[type="checkbox"],
.gift-value-record-check-v51 > input[type="checkbox"],
.booking-table-choice-v47 > input[type="checkbox"],
.permission-check > input[type="checkbox"]{
  -webkit-appearance:checkbox !important;
  appearance:auto !important;
  display:block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  flex:0 0 18px !important;
  padding:0 !important;
  margin:1px 0 0 0 !important;
  border:0 !important;
  border-radius:3px !important;
  background:transparent !important;
  box-shadow:none !important;
  vertical-align:top !important;
  cursor:pointer;
  accent-color:#b58a27;
}

.approval-toggle-v48 > input[type="checkbox"]:focus,
.gift-value-record-check-v51 > input[type="checkbox"]:focus,
.booking-table-choice-v47 > input[type="checkbox"]:focus,
.permission-check > input[type="checkbox"]:focus{
  box-shadow:none !important;
  outline:2px solid rgba(181,138,39,.25);
  outline-offset:2px;
}

/* Required Manager Approval */
.approval-toggle-v48{
  display:flex !important;
  grid-template-columns:none !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:100%;
}
.approval-toggle-v48 > span{
  display:grid;
  gap:3px;
  flex:1 1 auto;
  min-width:0;
}
.approval-toggle-v48 > span > strong,
.approval-toggle-v48 > span > small{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Gift Voucher Value checkboxes */
.gift-value-record-check-v51{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.gift-value-record-check-v51 > span{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:2px;
}
.gift-value-record-check-v51:has(> input[type="checkbox"]:checked){
  border-color:#b58a27;
  background:#fff7df;
  box-shadow:inset 0 0 0 1px rgba(181,138,39,.18);
}

/* Booking table selector checkboxes */
.booking-table-choice-v47{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.booking-table-choice-v47 > input[type="checkbox"]{
  margin-top:2px !important;
}
.booking-table-choice-v47 > span{
  flex:1 1 auto;
  min-width:0;
}
.booking-table-choice-v47:has(> input[type="checkbox"]:checked){
  border-color:#b58a27 !important;
  background:#fff4d3 !important;
  box-shadow:inset 0 0 0 1px rgba(181,138,39,.20);
}
.booking-table-choice-v47 > input[type="checkbox"]:disabled{
  cursor:not-allowed;
  opacity:.55;
}
.booking-table-choice-v47:has(> input[type="checkbox"]:disabled){
  cursor:not-allowed;
}

/* Make checkbox grids stable rather than allowing form controls to overflow. */
.gift-value-records-v51,
.booking-table-planner-inline-v47{
  align-items:stretch;
}
.gift-value-records-v51 > *,
.booking-table-planner-inline-v47 > *{
  min-width:0;
}

/* Slightly larger touch targets on mobile while retaining square checkbox. */
@media(max-width:650px){
  .approval-toggle-v48 > input[type="checkbox"],
  .gift-value-record-check-v51 > input[type="checkbox"],
  .booking-table-choice-v47 > input[type="checkbox"],
  .permission-check > input[type="checkbox"]{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    min-height:20px !important;
    max-height:20px !important;
    flex-basis:20px !important;
  }

  .gift-value-record-check-v51,
  .booking-table-choice-v47{
    padding:10px !important;
  }
}

/* ================= V53 GLOBAL FONT & STYLE SETTINGS ================= */

:root{
  --ns-font-headings-family:Georgia,"Times New Roman",serif;
  --ns-font-headings-size:38px;
  --ns-font-headings-color:#171714;

  --ns-font-titles-family:Georgia,"Times New Roman",serif;
  --ns-font-titles-size:24px;
  --ns-font-titles-color:#171714;

  --ns-font-body-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ns-font-body-size:14px;
  --ns-font-body-color:#171714;

  --ns-font-notes-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ns-font-notes-size:12px;
  --ns-font-notes-color:#756f65;

  --ns-font-tables-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ns-font-tables-size:13px;
  --ns-font-tables-color:#171714;

  --ns-font-buttons-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ns-font-buttons-size:13px;
  --ns-font-buttons-color:#171714;

  --ns-font-labels-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ns-font-labels-size:13px;
  --ns-font-labels-color:#514d46;

  --ns-font-navigation-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ns-font-navigation-size:13px;
  --ns-font-navigation-color:#171714;
}

/* Body / general content */
body,
.site,
.portal,
.backend-shell,
.customer-shell,
input,
select,
textarea{
  font-family:var(--ns-font-body-family) !important;
}
body,
.site,
.portal,
.backend-content,
.customer-shell,
input,
select,
textarea,
p,
li{
  color:var(--ns-font-body-color);
}
body,
input,
select,
textarea,
p{
  font-size:var(--ns-font-body-size);
}

/* Main page headings */
h1,
.hero-copy h1,
.portal-hero h1,
.profile-head h1,
.section-head h1,
.site-hero h1{
  font-family:var(--ns-font-headings-family) !important;
  color:var(--ns-font-headings-color);
}
h1:not(.hero-copy h1){
  font-size:var(--ns-font-headings-size);
}
/* Preserve responsive hero proportions while letting Admin family/colour control it. */
.hero-copy h1{
  font-size:clamp(
    calc(var(--ns-font-headings-size) * 1.15),
    7.2vw,
    calc(var(--ns-font-headings-size) * 2.75)
  );
}

/* Section/card titles */
h2,h3,h4,h5,h6,
.card h2,.card h3,.card h4,
.section-head h2,.section-head h3,
.booking-day,
.list-item strong.title{
  font-family:var(--ns-font-titles-family) !important;
  color:var(--ns-font-titles-color);
}
h2{font-size:var(--ns-font-titles-size)}
h3{font-size:calc(var(--ns-font-titles-size) * .78)}
h4,h5,h6{font-size:calc(var(--ns-font-titles-size) * .66)}

/* Notes / muted / helper content */
.small,
.note,
.muted,
.help,
.hint,
.optional-label,
.booking-branch-address,
.booking-audit-v47,
.settings-warning,
.gift-privacy-note,
.voucher-expiry-help-v50 span{
  font-family:var(--ns-font-notes-family) !important;
  font-size:var(--ns-font-notes-size) !important;
  color:var(--ns-font-notes-color);
}

/* Tables */
table,thead,tbody,tr,th,td{
  font-family:var(--ns-font-tables-family) !important;
  color:var(--ns-font-tables-color);
}
th,td{
  font-size:var(--ns-font-tables-size) !important;
}
th{
  font-size:calc(var(--ns-font-tables-size) * .86) !important;
}

/* Buttons and tab controls.
   Variant buttons keep their existing contrast colours where required. */
.btn,
button.btn,
.subtab,
.tab,
.demo{
  font-family:var(--ns-font-buttons-family) !important;
  font-size:var(--ns-font-buttons-size) !important;
}
.btn.ghost,
.subtab,
.tab,
.demo{
  color:var(--ns-font-buttons-color);
}

/* Form labels */
label,
.field>label,
.field label:not(.permission-check):not(.approval-toggle-v48){
  font-family:var(--ns-font-labels-family) !important;
  font-size:var(--ns-font-labels-size) !important;
  color:var(--ns-font-labels-color);
}

/* Navigation */
.site-links,
.mobile-menu,
.backend-sidebar,
.backend-nav,
.backend-mobile-nav,
.backend-sidebar button,
.backend-nav button,
.portal-role,
.portal-user,
.settings-subtabs{
  font-family:var(--ns-font-navigation-family) !important;
  font-size:var(--ns-font-navigation-size) !important;
}
.site-links,
.mobile-menu,
.backend-sidebar,
.backend-nav,
.backend-mobile-nav,
.portal-role,
.portal-user{
  color:var(--ns-font-navigation-color);
}

/* Font Settings UI */
.font-settings-page-v53{
  grid-column:1/-1;
  width:100%;
  display:grid;
  gap:14px;
}
.font-settings-grid-v53{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.font-setting-card-v53{
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.font-setting-card-head-v53{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:11px;
}
.font-setting-card-head-v53 h3{
  margin:0 0 3px;
}
.font-preview-v53{
  min-width:54px;
  height:48px;
  display:grid;
  place-items:center;
  padding:0 8px;
  border-radius:11px;
  background:#f5f0e4;
  border:1px solid #ded4bd;
  font-weight:800;
}
.font-setting-fields-v53{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(110px,.65fr) minmax(0,1fr);
  gap:10px;
}
.font-colour-control-v53{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:7px;
}
.font-colour-control-v53 input[type="color"]{
  width:48px !important;
  min-width:48px;
  height:45px;
  padding:3px !important;
  cursor:pointer;
  -webkit-appearance:auto;
  appearance:auto;
}
.font-settings-note-v53{
  margin-top:10px;
  padding:9px 11px;
  border-radius:10px;
  background:#fff7df;
  border:1px solid #e1c77d;
  font-size:11px;
}
.font-style-preview-panel-v53 h1,
.font-style-preview-panel-v53 h2{
  margin-bottom:8px;
}
.font-style-preview-panel-v53 .table-wrap{
  margin:12px 0;
}

/* Category previews use current variables */
.font-preview-headings-v53{
  font-family:var(--ns-font-headings-family);
  color:var(--ns-font-headings-color);
}
.font-preview-titles-v53{
  font-family:var(--ns-font-titles-family);
  color:var(--ns-font-titles-color);
}
.font-preview-body-v53{
  font-family:var(--ns-font-body-family);
  color:var(--ns-font-body-color);
}
.font-preview-notes-v53{
  font-family:var(--ns-font-notes-family);
  color:var(--ns-font-notes-color);
}
.font-preview-tables-v53{
  font-family:var(--ns-font-tables-family);
  color:var(--ns-font-tables-color);
}
.font-preview-buttons-v53{
  font-family:var(--ns-font-buttons-family);
  color:var(--ns-font-buttons-color);
}
.font-preview-labels-v53{
  font-family:var(--ns-font-labels-family);
  color:var(--ns-font-labels-color);
}
.font-preview-navigation-v53{
  font-family:var(--ns-font-navigation-family);
  color:var(--ns-font-navigation-color);
}

@media(max-width:1000px){
  .font-setting-fields-v53{
    grid-template-columns:1fr 1fr;
  }
  .font-setting-fields-v53>.field:first-child{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .font-settings-grid-v53{
    grid-template-columns:1fr;
  }
  .font-setting-fields-v53{
    grid-template-columns:1fr;
  }
  .font-setting-fields-v53>.field:first-child{
    grid-column:auto;
  }
}

/* V53 contrast safeguards: category controls apply throughout the app while dark
   branded surfaces retain readable contrast. */
.hero-copy h1,
.dark h1,.dark h2,.dark h3,
.voucher h1,.voucher h2,.voucher h3{
  color:#fff !important;
}
.dark .small,.dark .note{
  color:#cbc3b5 !important;
}

/* Solid action buttons retain accessible contrast; outlined/tabs use Admin text colour. */
.btn:not(.ghost):not(.white){
  color:#fff;
}

/* ================= V54 MULTI-BRANCH OPERATIONS ================= */

.global-branch-context-v54{
  position:sticky;
  top:0;
  z-index:25;
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(210px,.65fr) minmax(220px,1fr);
  align-items:center;
  gap:12px;
  padding:9px 20px;
  background:#fff8e8;
  border-bottom:1px solid #dfc77f;
  box-shadow:0 3px 10px rgba(0,0,0,.04);
}
.global-branch-context-v54.staff{
  grid-template-columns:minmax(180px,1fr) minmax(220px,.8fr);
}
.global-branch-context-v54 .field{margin:0}
.global-branch-context-v54 .field label{font-size:8px}
.global-branch-context-label-v54{display:grid;gap:1px}
.global-branch-context-label-v54 span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#7b693c}
.global-branch-context-label-v54 strong{font-size:13px}
.global-branch-context-v54 .small{font-size:9px!important}

.branch-management-v54,
.stock-transfer-page-v54,
.branch-menu-settings-v54{display:grid;gap:14px;width:100%;grid-column:1/-1}

.branch-admin-grid-v54{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.branch-card-v54{
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.branch-card-v54.inactive{background:#f7f5ef}
.branch-card-v54.archived{background:#eeeeeb;opacity:.82}
.branch-status-stack-v54{display:grid;gap:5px;justify-items:end}
.branch-card-metrics-v54{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:10px 0 7px;
}
.branch-card-metrics-v54 span{
  display:grid;
  gap:2px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:9px;
  font-size:8px;
}
.branch-card-metrics-v54 strong{font-size:12px}
.branch-progress-v54{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e5e0d5;
  margin:5px 0 10px;
}
.branch-progress-v54 span{display:block;height:100%;background:#b58a27;border-radius:999px}
.branch-dependencies-v54{margin-top:8px;font-size:9px}
.branch-dependencies-v54 summary{cursor:pointer;font-weight:800}
.branch-dependencies-v54 div{padding:3px 0;color:#8a392e}

.branch-wizard-v54{border:2px solid #d6bd79}
.branch-wizard-tabs-v54{margin:10px 0 12px;overflow-x:auto;flex-wrap:nowrap}
.branch-wizard-tabs-v54 .subtab{white-space:nowrap}
.branch-wizard-panel-v54{min-width:0}

.branch-hours-grid-v54{display:grid;gap:7px}
.branch-hours-row-v54{
  display:grid;
  grid-template-columns:110px 90px 70px 105px 105px 75px 105px 105px;
  gap:6px;
  align-items:center;
  padding:7px;
  border:1px solid var(--line);
  border-radius:10px;
}
.branch-hours-row-v54 input[type="time"]{padding:7px 8px}

.branch-stock-policy-table-v54{max-height:620px;overflow:auto}
.branch-stock-policy-table-v54 input{min-width:90px}
.branch-review-grid-v54{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.branch-review-grid-v54>div{
  display:flex;
  gap:7px;
  align-items:center;
  padding:9px;
  border-radius:10px;
  border:1px solid var(--line);
  text-transform:capitalize;
}
.branch-review-grid-v54 .ready{background:#edf7ea;border-color:#aaca9e}
.branch-review-grid-v54 .missing{background:#fff0e8;border-color:#dfb09d}

.branch-access-manager-v54{margin-top:14px}
.branch-access-manager-v54 table input[type="checkbox"],
.branch-access-manager-v54 table input[type="radio"],
.branch-wizard-v54 table input[type="checkbox"],
.branch-wizard-v54 table input[type="radio"],
.branch-availability-check-v54 input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin:0!important;
  accent-color:#b58a27;
}
.branch-access-manager-v54 table select{min-width:140px}

.branch-supplier-config-v54{display:grid;gap:8px}
.branch-supplier-form-v54 details{margin:8px 0}
.branch-supplier-form-v54 summary{cursor:pointer;font-weight:800}
.branch-supplier-form-v54 table input{min-width:100px}

.branch-stock-policy-inline-v54{
  margin:9px 0;
  padding:10px;
  border-radius:11px;
  background:#fff8e8;
  border:1px solid #e2cf98;
}
.branch-stock-policy-inline-v54>strong{display:block;margin-bottom:5px}

.stock-transfer-card-v54 h3{margin:2px 0}
.transfer-audit-grid-v54{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:8px 0;
}
.transfer-audit-grid-v54 span{
  display:grid;
  gap:2px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:9px;
  font-size:8px;
}
.transfer-audit-grid-v54 strong{font-size:9px}

.public-menu-branch-v54{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin:0 0 12px;
}
.public-menu-branch-v54 label{font-weight:800}
.public-menu-branch-v54 select{width:auto;min-width:190px;background:#fff}

.branch-availability-check-v54{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin:3px 0!important;
  font-size:8px!important;
}
.branch-menu-table-v54{max-height:680px;overflow:auto}
.branch-menu-table-v54 th{position:sticky;top:0;z-index:2}
.branch-menu-table-v54 td:not(:first-child){min-width:120px}

.branch-comparison-table-v54{min-width:1500px}
.branch-comparison-cards-v54{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.branch-comparison-cards-v54 article{
  display:grid;
  grid-template-columns:1.4fr repeat(4,1fr);
  gap:7px;
  align-items:center;
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
}
.branch-comparison-cards-v54 span{font-size:8px}
.branch-comparison-cards-v54 b{display:block;font-size:10px}

.branch-settlement-grid-v54{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.branch-settlement-grid-v54>div{
  display:grid;
  gap:3px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
}
.branch-settlement-grid-v54 span{font-size:9px}

@media(max-width:1200px){
  .branch-hours-row-v54{
    grid-template-columns:100px 80px 65px 1fr 1fr 70px 1fr 1fr;
  }
  .branch-comparison-cards-v54{grid-template-columns:1fr}
}
@media(max-width:900px){
  .global-branch-context-v54,
  .global-branch-context-v54.staff{grid-template-columns:1fr 1fr}
  .global-branch-context-v54>.small{grid-column:1/-1}
  .branch-admin-grid-v54{grid-template-columns:1fr}
  .branch-card-metrics-v54{grid-template-columns:1fr 1fr}
  .branch-review-grid-v54{grid-template-columns:1fr 1fr}
  .transfer-audit-grid-v54{grid-template-columns:1fr 1fr}
  .branch-settlement-grid-v54{grid-template-columns:1fr}
  .branch-hours-row-v54{
    grid-template-columns:1fr 1fr 1fr;
  }
  .branch-hours-row-v54>strong{grid-column:1/-1}
}
@media(max-width:600px){
  .global-branch-context-v54,
  .global-branch-context-v54.staff{
    position:static;
    grid-template-columns:1fr;
    padding:9px 10px;
  }
  .global-branch-context-v54>.small{grid-column:auto}
  .branch-card-metrics-v54,
  .branch-review-grid-v54,
  .transfer-audit-grid-v54{grid-template-columns:1fr}
  .branch-hours-row-v54{grid-template-columns:1fr 1fr}
  .branch-hours-row-v54>strong{grid-column:1/-1}
  .branch-comparison-cards-v54 article{grid-template-columns:1fr 1fr}
  .public-menu-branch-v54{align-items:stretch;flex-direction:column}
  .public-menu-branch-v54 select{width:100%}
}

/* ================= V55 TOP HEADER BRANCH / SETTINGS ================= */

.backend-portal-top-v55{
  display:grid;
  grid-template-columns:auto minmax(170px,1fr) auto;
  align-items:center;
  gap:14px;
}

.portal-top-actions-v55{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}

.header-branch-control-v55{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:4px 5px 4px 9px;
  border:1px solid #d8ccb0;
  border-radius:12px;
  background:#fffaf0;
}

.header-branch-control-v55>span{
  flex:0 0 auto;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#786a47;
}

.header-branch-control-v55 select{
  width:auto !important;
  min-width:170px;
  max-width:250px;
  height:36px;
  padding:6px 28px 6px 8px !important;
  margin:0;
  border:0;
  border-radius:8px;
  background:#fff;
  box-shadow:none;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.header-branch-control-v55 select:focus{
  border:0;
  box-shadow:0 0 0 2px rgba(181,138,39,.18);
}

.header-branch-control-v55 select:disabled{
  cursor:default;
  opacity:1;
  color:#171714;
}

.header-settings-button-v55{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0 !important;
  display:grid;
  place-items:center;
  font-size:18px !important;
  line-height:1;
  border-radius:11px !important;
}

.header-settings-button-v55.active{
  background:#171714 !important;
  color:#fff !important;
  border-color:#171714 !important;
}

/* V54 branch bar is no longer rendered. Keep it hidden as a safeguard
   if an older cached section is present during a local migration. */
.global-branch-context-v54{
  display:none !important;
}

/* Settings now lives in the top row, so no Settings group should appear
   in backend side/bottom navigation even if old markup is briefly cached. */
.backend-side-group[data-group="settings"],
.backend-bottom-nav [data-v14-main="settings"]{
  display:none !important;
}

@media(max-width:900px){
  .backend-portal-top-v55{
    grid-template-columns:auto 1fr auto;
    gap:8px;
  }

  .backend-portal-top-v55 .portal-brand>div{
    display:none;
  }

  .portal-top-actions-v55{
    gap:5px;
  }

  .header-branch-control-v55{
    padding-left:6px;
  }

  .header-branch-control-v55>span{
    display:none;
  }

  .header-branch-control-v55 select{
    min-width:135px;
    max-width:190px;
    height:34px;
    font-size:10px;
  }

  .header-settings-button-v55{
    width:34px;
    min-width:34px;
    height:34px;
  }
}

@media(max-width:620px){
  .backend-portal-top-v55{
    display:flex;
    gap:6px;
  }

  .backend-portal-top-v55 .portal-brand{
    flex:0 0 auto;
  }

  .backend-portal-top-v55 .portal-brand img{
    width:34px;
    height:34px;
  }

  .portal-website-button-v55{
    display:none;
  }

  .portal-top-actions-v55{
    margin-left:auto;
    min-width:0;
  }

  .header-branch-control-v55 select{
    min-width:112px;
    max-width:145px;
    padding-right:22px !important;
  }

  .backend-portal-top-v55 #logout{
    padding:7px 8px !important;
    white-space:nowrap;
  }
}

@media(max-width:420px){
  .backend-portal-top-v55 .portal-brand{
    display:none;
  }

  .header-branch-control-v55 select{
    min-width:125px;
    max-width:155px;
  }
}

/* ================= V56 WEBSITE ICON IN TOP HEADER ================= */

.header-website-button-v56{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0 !important;
  display:grid;
  place-items:center;
  font-size:17px !important;
  line-height:1;
  border-radius:11px !important;
}

/* The old left-side Website button no longer exists in the V56 header. */
.portal-website-button-v55{
  display:none !important;
}

@media(max-width:900px){
  .header-website-button-v56{
    width:34px;
    min-width:34px;
    height:34px;
    font-size:16px !important;
  }
}

/* ================= V57 MOBILE NAVIGATION ================= */
.backend-side-title,
.backend-side-link,
.backend-mobile-subnav,
.backend-bottom-nav{
 font-family:var(--ns-font-navigation-family)!important;
}
.backend-side-title,.backend-side-link{color:var(--ns-font-navigation-color)}
.backend-side-title{display:flex;align-items:center;gap:7px}
.backend-side-title svg,.backend-side-link svg{display:block}
.backend-side-link{position:relative}
.backend-side-link .nav-badge-v57{margin-left:auto}

.nav-badge-v57{
 display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;border-radius:999px;
 background:#b04634;color:#fff;font-family:var(--ns-font-body-family);font-size:9px!important;font-weight:900;line-height:1;
 width:auto!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;grid-auto-flow:column;
}
.backend-side-link>.nav-badge-v57{width:auto!important;min-width:20px}
.role-permission-toggle-all-v87{margin:14px 0 4px;background:#fff8e8;border-color:#d8b65d}
.backend-bottom-icon{position:relative;display:grid;place-items:center}
.nav-badge-v57.group{position:absolute;top:-7px;right:-11px;min-width:16px;height:16px;font-size:8px!important}
.backend-mobile-subnav button{position:relative}
.backend-mobile-subnav .nav-badge-v57{position:absolute;top:2px;right:2px}

.mobile-nav-hub-v57{grid-column:1/-1;width:100%}
.mobile-nav-card-grid-v57{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mobile-nav-landing-card-v57{
 border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;min-height:126px;
 display:grid;grid-template-rows:auto auto 1fr;gap:7px;cursor:pointer;color:var(--ns-font-body-color);
 font-family:var(--ns-font-navigation-family);
}
.mobile-nav-landing-card-v57:hover{border-color:#b58a27;background:#fffaf0}
.mobile-nav-landing-card-v57 strong{font-family:var(--ns-font-titles-family);font-size:15px}
.mobile-nav-landing-card-v57 small{font-family:var(--ns-font-notes-family);font-size:11px;color:var(--ns-font-notes-color);line-height:1.35}
.mobile-nav-landing-icon-v57{position:relative;width:36px;height:36px;border-radius:10px;background:#f4ead4;display:grid;place-items:center;color:#745817}
.mobile-nav-landing-icon-v57 .nav-badge-v57{position:absolute;top:-5px;right:-8px}
.mobile-hub-back-v57{margin-bottom:10px}
.v57-category-subnav button{flex:1 1 0!important;min-width:0!important}

@media(max-width:760px){
 .backend-mobile-subnav button{
   font-family:var(--ns-font-navigation-family)!important;
   font-size:calc(var(--ns-font-navigation-size) * .82)!important;
   min-height:42px;padding:7px 9px;
 }
 .backend-bottom-nav button{
   font-family:var(--ns-font-navigation-family)!important;
   font-size:calc(var(--ns-font-navigation-size) * .82)!important;
   min-height:53px;padding:6px 2px;
 }
 .backend-bottom-icon svg{width:20px;height:20px}
 .portal-hero{padding-top:14px!important;padding-bottom:12px!important;margin-bottom:8px!important}
 .portal-hero h1{font-size:clamp(22px,calc(var(--ns-font-headings-size) * .64),25px)!important;line-height:1.08!important;margin-bottom:4px!important}
 .portal-hero p{font-size:calc(var(--ns-font-notes-size) * .95)!important;line-height:1.3;max-width:42rem}
 .mobile-nav-card-grid-v57{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-category-grid-v57{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-nav-landing-card-v57{min-height:112px;padding:12px}
}
@media(max-width:390px){
 .backend-mobile-subnav button{font-size:calc(var(--ns-font-navigation-size) * .8)!important;min-width:0}
 .backend-bottom-nav button{font-size:calc(var(--ns-font-navigation-size) * .78)!important}
}
@media(max-width:350px){
 .mobile-nav-card-grid-v57{grid-template-columns:1fr}
}

/* Compact header and icon logout */
.logout-icon-v57{display:none}
.header-website-button-v56 svg,.header-settings-button-v55 svg,.header-logout-v57 svg{display:block}
@media(max-width:430px){
 .logout-text-v57{display:none}
 .logout-icon-v57{display:grid}
 .header-logout-v57{width:34px;min-width:34px;height:34px;padding:0!important;place-items:center}
 .header-branch-control-v55 select{min-width:105px;max-width:135px}
}

/* ================= V57 SPLIT OPENING HOURS ================= */
.branch-hours-summary-v57{
 margin:9px 0;padding:8px 10px;border-radius:9px;background:#f8f4ea;color:#625a4b;
 font-family:var(--ns-font-notes-family);font-size:10px;line-height:1.45;
}
.split-hours-days-v57{display:grid;gap:10px}
.split-hours-day-v57{padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}
.split-hours-day-head-v57{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.split-hours-day-head-v57>strong{min-width:90px}
.split-hours-periods-v57{display:grid;gap:7px}
.split-hours-period-v57{
 display:grid;grid-template-columns:minmax(110px,1.2fr) 110px 110px minmax(125px,.8fr) auto;gap:7px;align-items:end;
 padding:8px;border-radius:10px;background:#faf7ef;border:1px solid #ece3d1;
}
.split-hours-period-v57 .field{margin:0}
.booking-enabled-v57{align-self:center;margin-top:16px!important}

.public-hours-list-v57{display:grid;gap:4px;width:100%}
.public-hours-list-v57>div{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:10px;line-height:1.35}
.public-hours-list-v57>div span{color:#7a7267}
.public-hours-list-v57>div strong{font-size:10px}
.opening-hours-contact-v57{display:block!important}
.opening-hours-contact-v57>small{display:block;margin-bottom:5px}
.booking-opening-hours-v57{
 margin:-2px 0 12px;padding:9px 11px;border-radius:10px;background:#fff6df;border:1px solid #e3c980;
 font-size:11px;font-weight:750;color:#66552e;
}

@media(max-width:900px){
 .split-hours-period-v57{grid-template-columns:1fr 1fr 1fr}
 .split-hours-period-v57 .booking-enabled-v57{margin-top:0!important}
}
@media(max-width:600px){
 .split-hours-day-head-v57{flex-wrap:wrap;justify-content:flex-start}
 .split-hours-day-head-v57>strong{width:100%}
 .split-hours-period-v57{grid-template-columns:1fr 1fr}
 .split-hours-period-v57>.field:first-child{grid-column:1/-1}
 .public-hours-list-v57>div{grid-template-columns:62px 1fr}
}

/* ================= V58 PUBLIC FRONT-END ================= */

.site-v58{background:var(--paper)}
.site-v58 .section{padding:82px clamp(18px,5vw,72px)}
.site-v58 .section-head{margin-bottom:30px}
.site-v58 .section-head h2{margin-top:5px}

/* Slim location-aware header */
.site-nav-v58{
 min-height:76px!important;padding-top:7px!important;padding-bottom:7px!important;gap:16px;
}
.site-nav-v58 .site-logo img{width:54px!important;height:54px!important}
.site-links-v58{gap:18px;font-size:13px}
.site-actions-v58{gap:7px;min-width:0}
.site-actions-v58 .btn{padding:9px 14px}
.nav-login-v58{background:transparent!important}
.public-location-select-v58{
 display:flex;align-items:center;gap:6px;min-width:0;border:1px solid #d7ceba;background:#fffaf0;border-radius:999px;padding:3px 5px 3px 9px;
}
.public-location-pin-v58{display:grid;place-items:center;color:#8c6918}
.public-location-select-v58 select{
 width:auto!important;min-width:135px;max-width:185px;border:0!important;box-shadow:none!important;background-color:transparent!important;
 padding:6px 27px 6px 3px!important;font-size:11px;font-weight:800;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23675b41' stroke-width='1.5'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 7px center!important;
}
.hamburger-v58{display:none;width:38px;height:38px;place-items:center;color:var(--ink)}
.hamburger-v58 svg{display:block}
.mobile-menu-v58{top:68px}
.mobile-menu-v58 .btn{width:100%}

/* Hero */
.hero-site-v58{min-height:68vh}
.hero-site-v58 .hero-copy{padding:clamp(44px,7vw,88px)}
.hero-site-v58 .hero-copy:after{font-size:min(18vw,210px);opacity:.55}
.hero-site-v58 .hero-image{background-image:var(--hero-custom-image)!important;background-position:var(--hero-focus-x) var(--hero-focus-y)!important}
.hero-selected-location-v58{
 display:flex;align-items:flex-start;gap:9px;margin:19px 0 5px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);
 border-radius:13px;background:rgba(255,255,255,.06);max-width:620px;
}
.hero-selected-location-v58 svg{color:var(--gold2);flex:0 0 auto;margin-top:2px}
.hero-selected-location-v58 div{display:grid;gap:3px}
.hero-selected-location-v58 strong{font-size:13px}
.hero-selected-location-v58 span{font-size:11px;color:#d8d1c4;line-height:1.4}

/* Quick selected-location strip */
.quick-location-strip-v58{
 max-width:1180px;margin:-24px auto 0;position:relative;z-index:5;background:#fff;border:1px solid var(--line);border-radius:19px;
 box-shadow:0 16px 38px rgba(0,0,0,.09);padding:14px 16px;display:grid;grid-template-columns:1.25fr .85fr auto;gap:16px;align-items:center;
}
.quick-location-strip-v58>div:first-child{display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:center}
.quick-location-strip-v58>div:first-child svg{grid-row:1/3;color:#8d6818}
.quick-location-strip-v58 strong{font-size:13px}
.quick-location-strip-v58 small{font-size:10px;color:var(--muted)}
.quick-location-strip-v58>div:nth-child(2){display:grid;gap:2px}
.quick-location-actions-v58{display:flex;gap:7px}

/* Menu */
.menu-section-v58{padding-top:70px!important}
.menu-section-head-v58{display:flex;justify-content:space-between;gap:16px;align-items:end}
.text-action-v58{border:0;background:transparent;color:#7d5e19;display:flex;align-items:center;gap:5px;font-weight:800;cursor:pointer}
.menu-toolbar-v58{
 position:sticky;top:76px;z-index:20;background:rgba(247,244,237,.96);backdrop-filter:blur(13px);
 border-top:1px solid transparent;border-bottom:1px solid var(--line);margin:0 0 18px;padding:8px 0;
}
.menu-toolbar-v58 .menu-tabs{position:static!important;top:auto!important;padding:0!important;background:transparent!important;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.menu-toolbar-v58 .menu-tabs::-webkit-scrollbar{display:none}
.menu-toolbar-v58 .menu-tab{flex:0 0 auto;padding:8px 13px}
.public-menu-rows-v58{max-width:1040px;margin:0 auto;display:grid;gap:24px}
.public-menu-row-section-v58 h3{font-size:24px;margin:0 0 8px}
.public-menu-row-list-v58{border-top:1px solid var(--line)}
.public-menu-row-v58{
 display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);min-height:68px;
}
.menu-row-thumb-slot-v58{width:68px;height:54px}
.menu-row-thumb-v58{position:relative;width:68px;height:54px;border:0;padding:0;border-radius:9px;overflow:hidden;background:#e9e2d4;cursor:zoom-in}
.menu-row-thumb-v58 img{width:100%;height:100%;object-fit:cover;display:block}
.menu-row-thumb-v58 svg{position:absolute;right:4px;bottom:4px;padding:3px;width:19px;height:19px;border-radius:5px;background:rgba(23,23,20,.72);color:#fff}
.menu-row-no-photo-v58{display:block;width:68px;height:54px}
.menu-row-copy-v58{min-width:0}
.menu-row-copy-v58 strong{font-family:var(--ns-font-titles-family);font-size:16px;color:var(--ns-font-titles-color)}
.menu-row-copy-v58 p{font-size:12px;line-height:1.45;color:var(--muted);margin:3px 0 0}
.menu-row-price-v58{font-weight:900;color:#805f18;white-space:nowrap;padding-left:10px}

/* Booking CTA */
.booking-cta-v58{
 margin:0;background:#171714;color:#fff;padding:35px clamp(18px,6vw,80px);display:flex;justify-content:center;align-items:center;gap:60px;
}
.booking-cta-v58>div{max-width:650px}
.booking-cta-v58 h2{color:#fff!important;margin:4px 0 5px;font-size:34px}
.booking-cta-v58 p{color:#cfc7b8;margin:0}
.booking-cta-v58 .btn{display:flex;align-items:center;gap:7px;white-space:nowrap}

/* About / why */
.about-grid-v58{align-items:stretch}
.about-grid-v58 .copy-card{display:flex;flex-direction:column;justify-content:center}
.why-grid-v58{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.why-grid-v58>div{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:10px;border-radius:11px;background:#f5efe2}
.why-grid-v58 svg{grid-row:1/3;color:#936e1a;margin-top:2px}
.why-grid-v58 strong{font-size:12px}
.why-grid-v58 span{font-size:10px;color:var(--muted);line-height:1.35}

/* Gallery */
.gallery-section-v58{background:#f1ece2}
.gallery-grid-v58{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;gap:10px}
.gallery-card-v58{position:relative;border:0;padding:0;border-radius:16px;overflow:hidden;background:#ddd;cursor:zoom-in}
.gallery-card-v58.feature{grid-column:span 2;grid-row:span 2}
.gallery-card-v58 img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.gallery-card-v58:hover img{transform:scale(1.025)}
.gallery-card-v58 span{position:absolute;inset:auto 0 0;padding:30px 12px 10px;color:#fff;text-align:left;font-weight:800;font-size:11px;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.gallery-view-all-v58{text-align:center;margin-top:16px}

/* Review strip */
.review-public-grid-v58{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.review-public-card-v58{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:0 10px 24px rgba(0,0,0,.04)}
.review-public-card-v58 .review-stars{font-size:16px;color:var(--gold);letter-spacing:1px}
.review-public-card-v58 p{font-family:var(--ns-font-titles-family);font-size:16px;line-height:1.45;margin:10px 0 14px}
.review-public-card-v58 .review-author{font-size:11px}

/* Locations */
.locations-section-v58{background:#fff}
.locations-layout-v58{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px}
.location-list-v58{display:grid;gap:7px;align-content:start}
.location-choice-v58{
 border:1px solid var(--line);background:#faf8f3;border-radius:12px;padding:11px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:9px;cursor:pointer;
}
.location-choice-v58.active{background:#fff6df;border-color:#cfad57;box-shadow:inset 3px 0 #b58a27}
.location-choice-v58>span:first-child{display:grid;gap:3px}
.location-choice-v58 strong{font-size:12px}
.location-choice-v58 small{font-size:9px;color:var(--muted)}
.location-today-v58{text-align:right;font-size:8px;color:var(--muted);max-width:115px}
.location-today-v58 b{font-size:9px;color:#5b5140}
.selected-location-v58{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f8f4eb}
.selected-location-copy-v58{padding:22px}
.selected-location-copy-v58 h3{font-size:30px;margin:5px 0 6px}
.selected-location-copy-v58>p{font-size:12px;color:var(--muted)}
.selected-location-today-v58{display:grid;gap:2px;margin:13px 0;padding:10px;border-radius:10px;background:#fff}
.selected-location-today-v58 small{color:var(--muted);font-size:9px;text-transform:uppercase}
.selected-location-today-v58 strong{font-size:12px}
.selected-location-v58 .public-hours-list-v57{margin-top:12px}
.location-action-row-v58{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.location-action-v58{
 border:1px solid #cfc5af;background:#fff;color:#171714;border-radius:999px;padding:7px 10px;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer;
}
.selected-location-map-v58{min-height:390px}
.selected-location-map-v58 iframe{width:100%;height:100%;min-height:390px;border:0}

/* Booking journey */
.booking-public-v58{background:#ebe5d9}
.booking-journey-card-v58{max-width:950px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 18px 42px rgba(0,0,0,.06)}
.booking-mode-cards-v58{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:17px}
.booking-mode-cards-v58 button{border:1px solid var(--line);border-radius:13px;background:#f9f6ef;padding:12px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;cursor:pointer}
.booking-mode-cards-v58 button svg{grid-row:1/3;color:#8b6718}
.booking-mode-cards-v58 button strong{font-size:12px}
.booking-mode-cards-v58 button span{font-size:9px;color:var(--muted)}
.booking-mode-cards-v58 button.active{background:#fff3cf;border-color:#c6a34b;box-shadow:inset 0 0 0 1px rgba(181,138,39,.18)}
.booking-steps-v58{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 0 16px}
.booking-steps-v58 span{display:flex;align-items:center;gap:5px;padding:7px;border-radius:9px;background:#f2eee6;color:#837b6c;font-size:9px;font-weight:800}
.booking-steps-v58 b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ddd4c4;color:#554d40}
.booking-steps-v58 span.active{background:#fff2c9;color:#705414}
.booking-steps-v58 span.active b,.booking-steps-v58 span.done b{background:#b58a27;color:#fff}
.booking-opening-hours-v58{margin:2px 0 12px;padding:9px 11px;background:#fff7e3;border:1px solid #e0cb94;border-radius:10px;font-size:10px;font-weight:750}
.booking-stage-summary-v58{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:10px;background:#f7f3ea;margin-bottom:12px}
.booking-stage-summary-v58 span{font-size:10px;color:var(--muted)}
.booking-time-group-v58{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.booking-time-group-v58>div:first-child{display:grid;gap:3px}
.booking-time-group-v58>div:first-child span{font-size:9px;color:var(--muted)}
.booking-time-pills-v58{display:flex;flex-wrap:wrap;gap:6px}
.booking-time-pills-v58 button{border:1px solid #cfc5ae;background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer}
.booking-time-pills-v58 button:hover,.booking-time-pills-v58 button.selected{background:#171714;color:#fff;border-color:#171714}
.booking-stage-actions-v58{display:flex;justify-content:space-between;gap:9px;margin-top:14px}
.booking-optional-v58{margin:12px 0}
.booking-optional-v58 summary{cursor:pointer;font-weight:850;padding:9px 0}
.booking-confirm-card-v58{padding:14px;border-radius:13px;background:#171714;color:#fff}
.booking-confirm-card-v58 h3{color:#fff!important;margin:4px 0}
.booking-confirm-card-v58 p{color:#ddd5c7;margin:3px 0;font-size:11px}
.booking-success-v58{text-align:center;padding:34px 15px}
.booking-success-v58 svg{color:#967019}
.booking-success-v58 h3{font-size:28px;margin:8px 0}

/* Simple footer */
.simple-site-footer-v58{background:#171714;color:#fff;padding:34px clamp(18px,5vw,70px) 18px}
.simple-footer-main-v58{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center}
.simple-footer-brand-v58{display:flex;align-items:center;gap:9px}
.simple-footer-brand-v58 img{width:48px;height:48px;object-fit:contain}
.simple-footer-brand-v58 div{display:grid}
.simple-footer-brand-v58 strong{font-family:var(--ns-font-titles-family);font-size:15px}
.simple-footer-brand-v58 span{font-size:9px;color:#aaa294}
.simple-footer-main-v58 nav{display:flex;gap:14px;font-size:10px;font-weight:800}
.simple-footer-main-v58 nav a{color:#fff}
.simple-footer-contact-v58{display:flex;justify-content:flex-end;gap:10px;font-size:10px}
.simple-footer-contact-v58 a{color:#d6cebf}
.simple-footer-bottom-v58{max-width:1180px;margin:18px auto 0;padding-top:14px;border-top:1px solid #35342f;display:flex;justify-content:space-between;color:#8f887c;font-size:9px}

/* Image lightbox */
.public-photo-lightbox-v58{position:fixed;inset:0;z-index:999;display:none;place-items:center;background:rgba(12,12,10,.92);padding:28px}
.public-photo-lightbox-v58.open{display:grid}
.public-photo-lightbox-v58 figure{margin:0;max-width:min(1050px,88vw);max-height:88vh;display:grid;gap:8px}
.public-photo-lightbox-v58 figure img{display:block;max-width:100%;max-height:78vh;margin:auto;border-radius:15px;box-shadow:0 28px 80px rgba(0,0,0,.45)}
.public-photo-lightbox-v58 figcaption{display:flex;justify-content:space-between;gap:10px;color:#fff;font-size:11px}
.lightbox-close-v58,.lightbox-nav-v58{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;cursor:pointer}
.lightbox-close-v58{right:22px;top:20px;width:40px;height:40px;border-radius:50%}

.lightbox-nav-v58{top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;font-size:30px}
.lightbox-nav-v58.prev{left:20px}.lightbox-nav-v58.next{right:20px}
.lightbox-open-v58{overflow:hidden}

/* Hero focal preview */
.hero-focus-preview-v58 img{object-fit:cover;object-position:var(--focus-x) var(--focus-y);height:210px}

/* Public accessibility / contrast */
.site-v58 a:focus-visible,.site-v58 button:focus-visible,.site-v58 select:focus-visible,.site-v58 input:focus-visible,.site-v58 textarea:focus-visible,
.simple-site-footer-v58 a:focus-visible{outline:3px solid #d5b25d!important;outline-offset:3px}
.site-v58 .btn.gold,.booking-cta-v58 .btn.gold{color:#171714!important}
.site-v58 select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23675b41' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px!important}

/* Responsive */
@media(max-width:980px){
 .site-links-v58{display:none}
 .hamburger-v58{display:grid}
 .nav-login-v58{display:none}
 .public-location-select-v58 select{min-width:120px;max-width:150px}
 .quick-location-strip-v58{margin:-16px 16px 0;grid-template-columns:1fr 1fr}
 .quick-location-actions-v58{grid-column:1/-1;justify-content:flex-end}
 .locations-layout-v58{grid-template-columns:1fr}
 .location-list-v58{grid-template-columns:repeat(2,1fr)}
 .gallery-grid-v58{grid-auto-rows:165px}
}
@media(max-width:720px){
 .site-v58 .section{padding:52px 18px}
 .site-nav-v58{min-height:66px!important;padding:5px 12px!important}
 .site-nav-v58 .site-logo img{width:46px!important;height:46px!important}
 .site-actions-v58{margin-left:auto}
 .site-actions-v58 .nav-book-v58{padding:8px 10px;font-size:10px!important}
 .public-location-select-v58{padding-left:6px}
 .public-location-select-v58 select{min-width:100px;max-width:125px;font-size:9px}
 .mobile-menu-v58{top:66px}
 .hero-site-v58{grid-template-columns:1fr;min-height:auto}
 .hero-site-v58 .hero-copy{padding:46px 20px 50px}
 .hero-site-v58 .hero-image{min-height:300px}
 .hero-selected-location-v58{margin-top:14px}
 .quick-location-strip-v58{grid-template-columns:1fr;margin:-13px 12px 0}
 .quick-location-actions-v58{grid-column:auto;justify-content:stretch}
 .quick-location-actions-v58 .btn{flex:1}
 .menu-section-head-v58{align-items:flex-start;flex-direction:column}
 .menu-toolbar-v58{top:66px;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
 .public-menu-row-v58{grid-template-columns:58px minmax(0,1fr) auto;gap:9px;min-height:62px}
 .menu-row-thumb-slot-v58,.menu-row-thumb-v58,.menu-row-no-photo-v58{width:58px;height:48px}
 .menu-row-copy-v58 strong{font-size:14px}.menu-row-copy-v58 p{font-size:11px}
 .booking-cta-v58{padding:28px 18px;align-items:flex-start;flex-direction:column;gap:15px}
 .booking-cta-v58 h2{font-size:28px}
 .why-grid-v58{grid-template-columns:1fr}
 .gallery-grid-v58{grid-template-columns:1fr 1fr;grid-auto-rows:145px}
 .gallery-card-v58.feature{grid-column:span 2;grid-row:span 2}
 .review-public-grid-v58{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px;scrollbar-width:none}
 .review-public-grid-v58::-webkit-scrollbar{display:none}
 .review-public-card-v58{flex:0 0 84%;scroll-snap-align:start}
 .location-list-v58{grid-template-columns:1fr}
 .selected-location-v58{grid-template-columns:1fr}
 .selected-location-map-v58,.selected-location-map-v58 iframe{min-height:260px}
 .booking-mode-cards-v58{grid-template-columns:1fr}
 .booking-steps-v58 span{justify-content:center;padding:6px 3px}
 .booking-steps-v58 span{font-size:0}.booking-steps-v58 span b{font-size:9px}
 .booking-time-group-v58{grid-template-columns:1fr;gap:6px}
 .simple-footer-main-v58{grid-template-columns:1fr;text-align:center}
 .simple-footer-brand-v58{justify-content:center}
 .simple-footer-main-v58 nav{justify-content:center;flex-wrap:wrap}
 .simple-footer-contact-v58{justify-content:center}
 .lightbox-nav-v58{width:38px;height:38px}.lightbox-nav-v58.prev{left:7px}.lightbox-nav-v58.next{right:7px}
}
@media(max-width:460px){
 .site-actions-v58 .nav-book-v58{display:none}
 .public-location-select-v58 select{min-width:116px;max-width:140px}
 .gallery-grid-v58{grid-template-columns:1fr;grid-auto-rows:190px}
 .gallery-card-v58.feature{grid-column:auto;grid-row:auto}
 .public-menu-row-v58{grid-template-columns:52px minmax(0,1fr) auto}
 .menu-row-thumb-slot-v58,.menu-row-thumb-v58,.menu-row-no-photo-v58{width:52px;height:44px}
 .menu-row-price-v58{font-size:11px;padding-left:2px}
 .simple-footer-bottom-v58{flex-direction:column;gap:3px;align-items:center}
}

/* ================= V59 BOOKINGS / ORDERS / REPORTS ================= */

/* Booking primary tabs */
.booking-tab-layout-v59{display:grid;gap:7px;margin-top:10px}
.booking-primary-tabs-v59{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
.booking-primary-tabs-v59 .subtab{min-height:42px;font-weight:900}
.booking-secondary-tabs-v59{display:flex;gap:5px;flex-wrap:wrap}
.booking-secondary-tabs-v59 .subtab{font-size:10px!important}

/* Order barcode search */
.order-product-search-v59{margin:10px 0 12px;padding:10px;border:1px solid #e0d5bf;border-radius:12px;background:#fffaf0}
.order-product-search-v59 .field{margin:0}
.order-barcode-search-line-v59{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;gap:7px}
.order-barcode-search-line-v59 svg{vertical-align:middle}

/* Restored universal records toolbar */
.backend-record-toolbar-v59{
 display:flex;justify-content:flex-end;gap:7px;margin:0 0 10px;padding:0;
}
.backend-record-toolbar-v59 .btn{display:flex;align-items:center;gap:5px}

/* Report email modal */
.report-email-modal-v59{
 display:none;position:fixed;inset:0;z-index:999;background:rgba(18,18,15,.68);padding:24px;overflow:auto;
}
.report-email-modal-v59.open{display:grid;place-items:center}
.report-email-dialog-v59{
 width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.28)
}
.report-email-select-row-v59{display:flex;gap:6px;margin:10px 0}
.report-recipient-grid-v59{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto;margin:8px 0 13px
}
.report-recipient-v59{padding:9px!important;border:1px solid var(--line);border-radius:10px;background:#faf8f3}
.report-recipient-v59>span{display:grid;gap:2px}
.report-recipient-v59 small{font-size:9px;color:var(--muted)}

/* Report schedule settings */
.report-schedule-settings-v59{display:grid;gap:14px;width:100%;grid-column:1/-1}
.report-schedule-report-grid-v59{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 14px
}
.report-schedule-report-grid-v59 .permission-check{
 align-items:flex-start!important;padding:9px!important;border:1px solid var(--line);border-radius:10px;background:#faf8f3
}
.report-schedule-report-grid-v59 .permission-check>span{display:grid;gap:2px}
.report-schedule-report-grid-v59 small{font-size:9px;color:var(--muted)}
.report-schedule-card-v59{display:grid;gap:8px}
.report-schedule-meta-v59{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px
}
.report-schedule-meta-v59>span{
 display:grid;gap:2px;padding:7px;border:1px solid var(--line);border-radius:9px;font-size:8px;color:var(--muted)
}
.report-schedule-meta-v59 strong{font-size:9px;color:var(--ink)}

@media(max-width:800px){
 .order-barcode-search-line-v59{grid-template-columns:1fr 1fr}
 .order-barcode-search-line-v59 input{grid-column:1/-1}
 .report-schedule-report-grid-v59{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-schedule-meta-v59{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .booking-primary-tabs-v59{grid-template-columns:1fr}
 .report-recipient-grid-v59,.report-schedule-report-grid-v59{grid-template-columns:1fr}
 .backend-record-toolbar-v59{justify-content:stretch}
 .backend-record-toolbar-v59 .btn{flex:1;justify-content:center}
 .order-barcode-search-line-v59{grid-template-columns:1fr}
 .order-barcode-search-line-v59 input{grid-column:auto}
}

/* V59 uses one consistent report toolbar above the report.
   Hide legacy report-local print buttons to avoid duplicate actions. */
.reports-page .report-controls button[id^="print"],
.reports-page .report-controls #printCurrentReport{
  display:none!important;
}

/* ============================================================
   V60 PROFESSIONAL PUBLIC DESIGN SYSTEM
   ============================================================ */

.site-v60{
  --site-ink:#1d1c18;
  --site-muted:#756e62;
  --site-paper:#f4f0e7;
  --site-paper-2:#ebe4d8;
  --site-paper-3:#dfd5c5;
  --site-gold:#b28a36;
  --site-gold-dark:#7f6225;
  --site-line:rgba(43,38,31,.15);
  --site-dark:#1b1b18;
  --site-radius:18px;
  color:var(--site-ink);
  background:var(--site-paper);
}
.site-v60 .section-inner-v60{
  width:min(1180px,100%);
  margin:0 auto;
}
.site-v60 .section{
  padding:88px clamp(20px,5vw,72px);
}
.site-v60 .section-head{
  max-width:760px;
  margin-bottom:34px;
}
.site-v60 .section-head .kicker,
.site-v60 .eyebrow-v60{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
  color:var(--site-gold-dark);
}
.site-v60 .section-head h2{
  letter-spacing:-.025em;
  line-height:1.03;
}
.site-v60 .section-head p{
  color:var(--site-muted);
  line-height:1.6;
  max-width:680px;
}

/* Header */
.site-nav-v60{
  min-height:72px!important;
  padding:7px clamp(16px,3vw,34px)!important;
  background:rgba(244,240,231,.94)!important;
  border-bottom:1px solid rgba(29,28,24,.1)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px);
}
.site-nav-v60 .site-logo img{
  width:52px!important;height:52px!important;
}
.site-nav-v60 .site-links a{
  color:#35312b;
  font-size:12px;
  letter-spacing:.02em;
}
.site-nav-v60 .site-links a:hover{
  color:var(--site-gold-dark);
}
.site-nav-v60 .public-location-select-v58{
  background:transparent;
  border:1px solid rgba(29,28,24,.18);
  box-shadow:none;
}
.site-nav-v60 .nav-book-v60{
  border-radius:999px!important;
  box-shadow:none!important;
}
.site-nav-v60 .nav-login-v60{
  border-color:transparent!important;
  background:transparent!important;
  padding-inline:9px!important;
}

/* Hero */
.hero-site-v60{
  min-height:690px;
  background:var(--site-dark);
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
}
.hero-site-v60 .hero-copy-v60{
  padding:clamp(62px,7vw,104px) clamp(30px,6vw,88px);
  max-width:760px;
}
.hero-site-v60 .hero-copy-v60:after{
  opacity:.16!important;
}
.hero-site-v60 .hero-copy-v60 h1{
  max-width:670px;
  letter-spacing:-.035em;
}
.hero-site-v60 .hero-copy-v60>p{
  max-width:610px;
  color:#c9c1b5;
  line-height:1.62;
}
.hero-location-line-v60{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap;
  gap:7px 10px!important;
  margin:24px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  max-width:650px!important;
  color:#eee6d8;
}
.hero-location-line-v60 svg{color:#d4af58!important;margin:0!important}
.hero-location-line-v60 strong{
  font-size:11px!important;
  letter-spacing:.02em;
}
.hero-location-line-v60 span{
  font-size:10px!important;
  color:#bdb4a7!important;
}
.hero-location-line-v60 span:not(.hero-location-address-v60):before{
  content:"•";
  margin-right:10px;
  color:#8f877b;
}
.hero-location-address-v60{
  flex-basis:100%;
  padding-left:26px;
}
.hero-actions-v60{
  margin-top:24px!important;
}
.hero-actions-v60 .btn{
  min-width:130px;
  border-radius:999px!important;
}
.hero-actions-v60 .btn.white{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.4)!important;
}
.hero-image-v60{
  position:relative;
}
.hero-image-v60:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(27,27,24,.18),transparent 34%);
  pointer-events:none;
}

/* Replace the old white contact box with an integrated editorial rail */
.quick-location-rail-v60{
  max-width:none!important;
  margin:0!important;
  padding:0 clamp(20px,5vw,72px)!important;
  min-height:88px;
  position:relative!important;
  z-index:4!important;
  display:grid!important;
  grid-template-columns:1.25fr .85fr auto!important;
  align-items:center!important;
  gap:28px!important;
  background:#e8e0d3!important;
  border:0!important;
  border-radius:0!important;
  border-bottom:1px solid rgba(29,28,24,.13)!important;
  box-shadow:none!important;
}
.quick-location-primary-v60{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
}
.quick-location-primary-v60>div{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1px 9px;
  align-items:baseline;
}
.quick-location-primary-v60 small{
  grid-column:1/-1;
  color:#857b6c!important;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:8px!important;
}
.quick-location-primary-v60 strong{
  font-family:var(--ns-font-titles-family);
  font-size:14px!important;
}
.quick-location-primary-v60 span:not(.quick-location-icon-v60){
  color:#72695d;
  font-size:10px;
}
.quick-location-icon-v60{
  width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;
  color:#7b5c1e;
  border:1px solid rgba(123,92,30,.28);
}
.quick-location-hours-v60{
  display:grid!important;
  gap:3px!important;
  padding-left:26px;
  border-left:1px solid rgba(29,28,24,.15);
}
.quick-location-hours-v60 small{
  color:#857b6c!important;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:8px!important;
}
.quick-location-hours-v60 strong{
  font-family:var(--ns-font-titles-family);
  font-size:13px!important;
  font-weight:600!important;
}
.quick-location-actions-v58{
  display:flex!important;
  gap:16px!important;
}
.text-link-v60{
  display:flex;align-items:center;gap:5px;
  border:0;background:transparent;padding:5px 0;
  color:#4f493f;font-size:10px;font-weight:850;
  cursor:pointer;
}
.text-link-v60.emphasis{color:#765716}
.text-link-v60:hover{text-decoration:underline;text-underline-offset:4px}

/* Menu — no white pills / cards */
.menu-section-v60{
  background:#f5f0e7!important;
  padding-top:82px!important;
}
.menu-section-head-v60{
  max-width:none!important;
  width:100%;
  display:flex!important;
  justify-content:space-between;
  align-items:flex-end!important;
  gap:20px;
  margin-bottom:24px!important;
}
.menu-section-head-v60 h2{
  margin-bottom:5px;
}
.menu-location-line-v60{
  display:flex;align-items:center;gap:5px;
  margin:0!important;
  color:#756c60!important;
  font-size:10px!important;
}
.text-action-v60{
  padding:0 0 3px;
  color:#75591f!important;
  font-size:10px;
}
.menu-toolbar-v60{
  position:sticky!important;
  top:72px!important;
  z-index:20!important;
  margin:0 0 28px!important;
  padding:0!important;
  background:#ded5c7!important;
  border:1px solid rgba(48,42,34,.12)!important;
  border-radius:14px!important;
  backdrop-filter:blur(16px);
  overflow:hidden;
}
.menu-tabs-v60{
  display:flex!important;
  gap:0!important;
  width:100%;
  padding:4px!important;
  background:transparent!important;
}
.menu-tabs-v60 .menu-tab{
  position:relative;
  flex:1 1 auto!important;
  min-width:max-content;
  padding:11px 17px 10px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#655f55!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.02em;
}
.menu-tabs-v60 .menu-tab:hover{
  color:#1f1e1a!important;
  background:rgba(255,255,255,.26)!important;
}
.menu-tabs-v60 .menu-tab.active{
  background:#1f1e1a!important;
  color:#f4efe5!important;
  box-shadow:0 4px 12px rgba(0,0,0,.08)!important;
}
.menu-tabs-v60 .menu-tab.active:after{
  display:none!important;
}
.public-menu-rows-v58{
  max-width:1000px!important;
  gap:36px!important;
}
.public-menu-row-section-v58 h3{
  margin:0 0 12px!important;
  font-size:22px!important;
  font-weight:500!important;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:14px;
}
.public-menu-row-section-v58 h3:after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(48,42,34,.13);
}
.public-menu-row-list-v58{
  border-top:0!important;
}
.public-menu-row-v58{
  min-height:72px!important;
  padding:9px 0!important;
  border-bottom:1px solid rgba(48,42,34,.12)!important;
  transition:background .18s ease,padding .18s ease;
}
.public-menu-row-v58:hover{
  background:rgba(255,255,255,.28);
  padding-left:7px!important;
  padding-right:7px!important;
}
.menu-row-thumb-v58{
  border-radius:7px!important;
  box-shadow:none!important;
}
.menu-row-copy-v58 strong{
  font-size:15px!important;
  font-weight:600;
  letter-spacing:-.01em;
}
.menu-row-copy-v58 p{
  color:#7b7367!important;
  max-width:720px;
}
.menu-row-price-v58{
  font-family:var(--ns-font-titles-family);
  font-weight:600!important;
  color:#5f4b21!important;
}

/* Booking CTA */
.booking-cta-v58{
  position:relative;
  background:#201f1b!important;
  padding:48px clamp(20px,6vw,84px)!important;
  gap:80px!important;
}
.booking-cta-v58:before{
  content:"";
  width:52px;height:1px;
  background:#caa54f;
  position:absolute;
  left:clamp(20px,6vw,84px);
  top:28px;
}
.booking-cta-v58 h2{
  font-size:31px!important;
  font-weight:500!important;
}
.booking-cta-v58 .btn{
  border-radius:999px!important;
  padding-inline:20px!important;
}

/* About */
.about-v60{
  background:#f4f0e7!important;
}
.about-grid-v60{
  gap:0!important;
  border:1px solid rgba(48,42,34,.11);
  border-radius:22px;
  overflow:hidden;
  background:#ebe4d8;
}
.about-photo-v60{
  border-radius:0!important;
  min-height:520px;
}
.about-photo-v60 img{
  height:100%;object-fit:cover;
}
.about-copy-v60{
  border-radius:0!important;
  background:#ebe4d8!important;
  padding:clamp(30px,5vw,64px)!important;
  box-shadow:none!important;
}
.about-copy-v60 h3{
  margin-top:8px;
  font-size:34px;
  font-weight:500;
}
.why-grid-v60{
  gap:0!important;
  border-top:1px solid rgba(48,42,34,.13);
  margin-top:26px!important;
}
.why-grid-v60>div{
  border-radius:0!important;
  background:transparent!important;
  border-bottom:1px solid rgba(48,42,34,.1);
  padding:12px 0!important;
}
.why-grid-v60>div:nth-child(odd){
  padding-right:14px!important;
}
.why-grid-v60>div:nth-child(even){
  padding-left:14px!important;
  border-left:1px solid rgba(48,42,34,.1);
}

/* Gallery */
.gallery-section-v58{
  background:#ddd4c6!important;
}
.gallery-card-v58{
  border-radius:11px!important;
}
.gallery-card-v58 span{
  font-size:10px!important;
  letter-spacing:.02em;
}

/* Reviews */
.reviews-public-v58{
  background:#f4f0e7!important;
}
.review-public-grid-v58{
  gap:1px!important;
  border-top:1px solid var(--site-line);
  border-bottom:1px solid var(--site-line);
}
.review-public-card-v58{
  border:0!important;
  border-right:1px solid var(--site-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:24px!important;
}
.review-public-card-v58:last-child{border-right:0!important}
.review-public-card-v58 p{
  font-size:17px!important;
  line-height:1.55!important;
  font-weight:400;
}
.review-public-actions{
  margin-top:22px!important;
}
.review-public-actions .btn{
  border-radius:999px!important;
}

/* Locations */
.locations-v60{
  background:#e8e1d5!important;
}
.locations-layout-v60{
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:0!important;
  border:1px solid rgba(48,42,34,.12);
  border-radius:20px;
  overflow:hidden;
  background:#f4f0e7;
}
.location-list-v60{
  gap:0!important;
  background:#ddd4c6;
  border-right:1px solid rgba(48,42,34,.12);
}
.location-choice-v60{
  border:0!important;
  border-radius:0!important;
  border-bottom:1px solid rgba(48,42,34,.11)!important;
  background:transparent!important;
  padding:15px!important;
}
.location-choice-v60.active{
  background:#f4f0e7!important;
  box-shadow:inset 3px 0 #ad8735!important;
}
.selected-location-v60{
  border:0!important;
  border-radius:0!important;
  background:#f4f0e7!important;
}
.selected-location-copy-v60{
  padding:30px!important;
}
.selected-location-copy-v60 h3{
  font-weight:500!important;
}
.selected-location-today-v60{
  border-radius:0!important;
  border-top:1px solid rgba(48,42,34,.11);
  border-bottom:1px solid rgba(48,42,34,.11);
  background:transparent!important;
  padding:11px 0!important;
}
.location-action-row-v60 .location-action-v58{
  border:0!important;
  border-bottom:1px solid #877249!important;
  border-radius:0!important;
  background:transparent!important;
  padding:6px 0!important;
  margin-right:12px;
}

/* Booking */
.booking-public-v58{
  background:#f4f0e7!important;
}
.booking-journey-card-v58{
  border:1px solid rgba(48,42,34,.12)!important;
  border-radius:20px!important;
  box-shadow:none!important;
  background:#fbf8f2!important;
  padding:20px!important;
}
.booking-mode-cards-v58{
  gap:0!important;
  border:1px solid rgba(48,42,34,.12);
  border-radius:13px;
  overflow:hidden;
}
.booking-mode-cards-v58 button{
  border:0!important;
  border-right:1px solid rgba(48,42,34,.12)!important;
  border-radius:0!important;
  background:#eee7dc!important;
  padding:14px!important;
}
.booking-mode-cards-v58 button:last-child{border-right:0!important}
.booking-mode-cards-v58 button.active{
  background:#1f1e1a!important;
  color:#f8f2e8!important;
  box-shadow:none!important;
}
.booking-mode-cards-v58 button.active span{color:#c7beb0!important}
.booking-mode-cards-v58 button.active svg{color:#d5b25d!important}
.booking-time-pills-v58 button{
  background:transparent!important;
  border-color:#b8ad9b!important;
}
.booking-time-pills-v58 button:hover,
.booking-time-pills-v58 button.selected{
  background:#1f1e1a!important;
  border-color:#1f1e1a!important;
}

/* Footer */
.simple-site-footer-v58{
  background:#191916!important;
  padding-top:42px!important;
}
.simple-footer-main-v58{
  border-bottom:1px solid #33322d;
  padding-bottom:24px;
}
.simple-footer-bottom-v58{
  border-top:0!important;
  padding-top:0!important;
}

/* Buttons */
.site-v60 .btn{
  box-shadow:none!important;
  letter-spacing:.01em;
}
.site-v60 .btn.gold{
  background:#c4a252!important;
  border-color:#c4a252!important;
  color:#191916!important;
}
.site-v60 .btn.gold:hover{
  background:#b38f3d!important;
  border-color:#b38f3d!important;
}
.site-v60 .btn.ghost{
  background:transparent;
}

/* Mobile */
@media(max-width:980px){
  .quick-location-rail-v60{
    grid-template-columns:1fr 1fr!important;
    padding:14px 20px!important;
    min-height:0;
  }
  .quick-location-actions-v58{
    grid-column:1/-1;
    padding-top:10px;
    border-top:1px solid rgba(29,28,24,.12);
    justify-content:flex-end!important;
  }
  .locations-layout-v60{
    grid-template-columns:1fr!important;
  }
  .location-list-v60{
    border-right:0;
    border-bottom:1px solid rgba(48,42,34,.12);
    grid-template-columns:repeat(2,1fr)!important;
  }
}

@media(max-width:720px){
  .site-v60 .section{padding:58px 18px!important}
  .site-nav-v60{min-height:64px!important}
  .hero-site-v60{grid-template-columns:1fr!important;min-height:auto!important}
  .hero-site-v60 .hero-copy-v60{padding:48px 20px 54px!important}
  .hero-site-v60 .hero-image-v60{min-height:310px!important}
  .hero-location-address-v60{padding-left:0!important}
  .hero-location-line-v60{gap:5px 8px!important}
  .quick-location-rail-v60{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:16px 18px!important;
  }
  .quick-location-hours-v60{
    border-left:0!important;
    padding-left:44px!important;
  }
  .quick-location-actions-v58{
    grid-column:auto!important;
    justify-content:flex-start!important;
    padding-top:12px;
  }
  .menu-section-v60{padding-top:58px!important}
  .menu-section-head-v60{
    align-items:flex-start!important;
  }
  .menu-toolbar-v60{
    top:64px!important;
    margin-left:-6px!important;
    margin-right:-6px!important;
    border-radius:12px!important;
  }
  .menu-tabs-v60{
    overflow-x:auto!important;
    justify-content:flex-start!important;
  }
  .menu-tabs-v60 .menu-tab{
    flex:0 0 auto!important;
    padding:10px 14px!important;
  }
  .public-menu-row-section-v58 h3{font-size:20px!important}
  .public-menu-row-v58:hover{
    padding-left:0!important;padding-right:0!important;background:transparent!important;
  }
  .booking-cta-v58{gap:18px!important}
  .about-grid-v60{border-radius:16px}
  .about-photo-v60{min-height:340px}
  .about-copy-v60{padding:28px 22px!important}
  .why-grid-v60{grid-template-columns:1fr!important}
  .why-grid-v60>div{
    padding:11px 0!important;
    border-left:0!important;
  }
  .review-public-grid-v58{
    border:0!important;
  }
  .review-public-card-v58{
    border:1px solid rgba(48,42,34,.12)!important;
    border-radius:14px!important;
    background:#ebe4d8!important;
  }
  .location-list-v60{
    grid-template-columns:1fr!important;
  }
  .booking-mode-cards-v58{
    border-radius:12px;
  }
  .booking-mode-cards-v58 button{
    border-right:0!important;
    border-bottom:1px solid rgba(48,42,34,.12)!important;
  }
  .booking-mode-cards-v58 button:last-child{border-bottom:0!important}
}

@media(max-width:460px){
  .quick-location-primary-v60>div{
    grid-template-columns:1fr;
  }
  .quick-location-primary-v60 span:not(.quick-location-icon-v60){
    margin-top:2px;
  }
  .quick-location-actions-v58{
    gap:14px!important;
    flex-wrap:wrap;
  }
}

/* ============================================================
   V61 PUBLIC TYPOGRAPHY / MENU ALIGNMENT / LOCATION ACTIONS
   ============================================================ */

/* Top navigation: improve readability without making header bulky */
.site-nav-v60 .site-links{
  gap:22px!important;
}
.site-nav-v60 .site-links a{
  font-size:14px!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:.015em!important;
}
.site-nav-v60 .public-location-select-v58 select{
  font-size:12px!important;
}
.site-nav-v60 .nav-book-v60,
.site-nav-v60 .nav-login-v60{
  font-size:12px!important;
  font-weight:850!important;
}

/* Menu tabs: guarantee true vertical centering */
.menu-toolbar-v60{
  min-height:52px!important;
}
.menu-tabs-v60{
  min-height:50px!important;
  align-items:stretch!important;
}
.menu-tabs-v60 .menu-tab{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.1!important;
  padding:0 19px!important;
  margin:0!important;
}
.menu-tabs-v60 .menu-tab>span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  line-height:1!important;
}

/* Location rail: larger, clearer typography */
.quick-location-rail-v60{
  min-height:100px!important;
}
.quick-location-primary-v60 small,
.quick-location-hours-v60 small{
  font-size:9.5px!important;
  letter-spacing:.12em!important;
}
.quick-location-primary-v60 strong{
  font-size:17px!important;
  line-height:1.15!important;
}
.quick-location-primary-v60 span:not(.quick-location-icon-v60){
  font-size:11.5px!important;
  line-height:1.35!important;
}
.quick-location-hours-v60 strong{
  font-size:15px!important;
  line-height:1.35!important;
}
.quick-location-icon-v60{
  width:36px!important;
  height:36px!important;
}

/* Replace text links with designed compact CTA buttons */
.quick-location-actions-v61{
  gap:9px!important;
  align-items:center!important;
}
.quick-action-btn-v61{
  min-height:40px;
  padding:0 15px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--ns-font-buttons-family);
  font-size:11.5px;
  font-weight:900;
  letter-spacing:.01em;
  cursor:pointer;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.quick-action-btn-v61 svg{
  flex:0 0 auto;
}
.quick-action-btn-v61:hover{
  transform:translateY(-1px);
}
.quick-action-btn-v61.secondary{
  background:transparent;
  border:1px solid rgba(45,39,31,.28);
  color:#3e392f;
}
.quick-action-btn-v61.secondary:hover{
  background:rgba(255,255,255,.38);
  border-color:rgba(45,39,31,.42);
}
.quick-action-btn-v61.primary{
  background:#1f1e1a;
  border:1px solid #1f1e1a;
  color:#f5efe5;
  box-shadow:0 5px 14px rgba(31,30,26,.12);
}
.quick-action-btn-v61.primary:hover{
  background:#34312a;
  border-color:#34312a;
}

/* Footer: increase overall legibility */
.simple-site-footer-v58{
  font-size:12px!important;
}
.simple-footer-brand-v58 strong{
  font-size:17px!important;
}
.simple-footer-brand-v58 span{
  font-size:11px!important;
}
.simple-footer-main-v58 nav{
  font-size:12px!important;
  gap:18px!important;
}
.simple-footer-main-v58 nav a{
  font-weight:800!important;
}
.simple-footer-contact-v58{
  font-size:12px!important;
}
.simple-footer-bottom-v58{
  font-size:10.5px!important;
  line-height:1.4!important;
}

/* Mobile */
@media(max-width:720px){
  .site-nav-v60 .public-location-select-v58 select{
    font-size:10.5px!important;
  }
  .menu-toolbar-v60{
    min-height:48px!important;
  }
  .menu-tabs-v60{
    min-height:46px!important;
  }
  .menu-tabs-v60 .menu-tab,
  .menu-tabs-v60 .menu-tab>span{
    min-height:38px!important;
  }
  .menu-tabs-v60 .menu-tab{
    padding:0 15px!important;
    font-size:10.5px!important;
  }

  .quick-location-rail-v60{
    min-height:0!important;
  }
  .quick-location-primary-v60 strong{
    font-size:16px!important;
  }
  .quick-location-primary-v60 span:not(.quick-location-icon-v60),
  .quick-location-hours-v60 strong{
    font-size:12px!important;
  }
  .quick-location-actions-v61{
    width:100%;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px!important;
  }
  .quick-action-btn-v61{
    width:100%;
    min-height:42px;
    padding:0 12px;
    font-size:11px;
  }

  .simple-footer-brand-v58 strong{font-size:16px!important}
  .simple-footer-brand-v58 span{font-size:11px!important}
  .simple-footer-main-v58 nav,
  .simple-footer-contact-v58{font-size:11.5px!important}
  .simple-footer-bottom-v58{font-size:10px!important}
}

@media(max-width:420px){
  .quick-location-actions-v61{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V62 GALLERY RESTORE / FOOTER / CUSTOMER VOUCHER SHOP
   ============================================================ */

/* Restore the previous V58 gallery treatment */
.gallery-section-v58{
  background:#f1ece2!important;
}
.gallery-grid-v58{
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-auto-rows:190px!important;
  gap:10px!important;
}
.gallery-card-v58{
  position:relative!important;
  border:0!important;
  padding:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#ddd!important;
  cursor:zoom-in!important;
}
.gallery-card-v58.feature{
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.gallery-card-v58 img{
  width:100%!important;height:100%!important;object-fit:cover!important;
  transition:transform .25s ease!important;
}
.gallery-card-v58:hover img{transform:scale(1.025)!important}
.gallery-card-v58 span{
  position:absolute!important;inset:auto 0 0!important;
  padding:30px 12px 10px!important;
  color:#fff!important;text-align:left!important;font-weight:800!important;font-size:11px!important;
  background:linear-gradient(transparent,rgba(0,0,0,.72))!important;
}

/* Remove the small decorative line above the booking CTA */
.booking-cta-v58:before{
  display:none!important;
  content:none!important;
}

/* Footer without logo */
.simple-footer-main-v62{
  grid-template-columns:1fr auto 1fr!important;
}
.simple-footer-brand-v62{
  display:grid;
  gap:3px;
}
.simple-footer-brand-v62 strong{
  font-family:var(--ns-font-titles-family);
  font-size:18px;
  color:#fff;
}
.simple-footer-brand-v62 span{
  font-size:11px;
  color:#aaa294;
}

/* Customer voucher store */
.customer-voucher-shop-page-v62{
  align-items:start;
}
.customer-voucher-shop-intro-v62,
.customer-voucher-checkout-v62,
.customer-voucher-purchase-success-v62,
.customer-voucher-purchase-history-v62{
  grid-column:1/-1;
}
.customer-voucher-product-grid-v62{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.customer-voucher-product-v62{
  border:1px solid var(--line);
  border-radius:16px;
  padding:15px;
  background:#fbf8f1;
  display:grid;
  gap:8px;
  min-height:188px;
}
.customer-voucher-product-top-v62{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.customer-voucher-kind-v62{
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#776840;
}
.customer-voucher-price-v62{
  font-family:var(--ns-font-titles-family);
  font-size:23px;
  font-weight:500;
}
.customer-voucher-product-v62 h3{
  margin:2px 0 0;
  font-size:18px;
}
.customer-voucher-product-v62 p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.customer-voucher-product-actions-v62{
  margin-top:auto;
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.customer-voucher-product-actions-v62 .btn{
  flex:1 1 auto;
}

.customer-voucher-checkout-v62{
  border:2px solid #d4b35e;
}
.customer-voucher-checkout-price-v62{
  font-family:var(--ns-font-titles-family);
  font-size:30px;
}
.customer-gift-fields-v62{
  padding:12px;
  margin:9px 0;
  border-radius:12px;
  background:#f7f2e8;
  border:1px solid #e3d8c4;
}
.customer-payment-panel-v62{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:12px;
  margin:12px 0 7px;
  border-radius:12px;
  background:#1e1e1a;
  color:#fff;
}
.customer-payment-panel-v62>div:first-child{
  display:flex;
  align-items:center;
  gap:9px;
}
.customer-payment-panel-v62>div:first-child>div{
  display:grid;
  gap:2px;
}
.customer-payment-panel-v62 small{
  color:#c5bdaf;
  font-size:9px;
}
.customer-payment-lock-v62{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:#35342e;color:#d5b25d;
}
.customer-payment-total-v62{
  display:grid;
  justify-items:end;
  gap:2px;
}
.customer-payment-total-v62 strong{
  font-family:var(--ns-font-titles-family);
  font-size:22px;
  color:#fff;
}
.customer-payment-prototype-note-v62{
  padding:8px 10px;
  margin-bottom:10px;
  border-radius:9px;
  background:#fff5d8;
  border:1px solid #dfc472;
  color:#675421;
  font-size:9px;
  line-height:1.4;
}
.customer-voucher-checkout-actions-v62{
  justify-content:flex-end;
}
.customer-voucher-purchase-success-v62{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  border-color:#abc69e!important;
  background:#f1f8ee!important;
}
.customer-voucher-success-icon-v62{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:#dcecd5;color:#47723a;
}
.customer-voucher-purchase-success-v62 h3{
  margin:3px 0;
}
.customer-voucher-purchase-success-v62 p{
  margin:0 0 3px;
}
.customer-purchase-row-v62{
  align-items:center;
}

/* Customer app navigation: five items remain readable */
.customer-portal-v62 .tabs{
  overflow-x:auto;
}
.customer-portal-v62 .tab{
  min-width:max-content;
}

/* Mobile */
@media(max-width:900px){
  .customer-voucher-product-grid-v62{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .gallery-grid-v58{
    grid-template-columns:1fr 1fr!important;
    grid-auto-rows:145px!important;
  }
  .gallery-card-v58.feature{
    grid-column:span 2!important;
    grid-row:span 2!important;
  }
  .simple-footer-main-v62{
    grid-template-columns:1fr!important;
    text-align:center;
  }
  .simple-footer-brand-v62{
    justify-items:center;
  }
  .customer-voucher-product-grid-v62{
    grid-template-columns:1fr;
  }
  .customer-voucher-product-v62{
    min-height:0;
  }
  .customer-payment-panel-v62{
    grid-template-columns:1fr;
  }
  .customer-payment-total-v62{
    justify-items:start;
    padding-left:43px;
  }
  .customer-voucher-purchase-success-v62{
    grid-template-columns:auto 1fr;
  }
  .customer-voucher-purchase-success-v62>.btn{
    grid-column:1/-1;
  }
}
@media(max-width:460px){
  .gallery-grid-v58{
    grid-template-columns:1fr!important;
    grid-auto-rows:190px!important;
  }
  .gallery-card-v58.feature{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* ============================================================
   V63 WINDCAVE / CREDIT CARD / SURCHARGE UI
   ============================================================ */

.payment-settings-page-v63{display:grid;gap:14px;grid-column:1/-1;width:100%}
.payment-security-note-v63{
 display:grid;gap:3px;padding:11px 12px;margin:8px 0 12px;border:1px solid #d6bd79;border-radius:11px;background:#fff7df
}
.payment-security-note-v63 strong{font-size:11px;color:#5d4a1d}
.payment-security-note-v63 span{font-size:9px;line-height:1.45;color:#71633f}
.payment-surcharge-warning-v63{
 margin:7px 0 12px;padding:9px 11px;border-radius:9px;background:#f7eee1;border:1px solid #dfc8aa;font-size:9px;color:#6e5131;line-height:1.45
}
.payment-integration-contract-v63 code{font-size:10px}
.payment-status-grid-v63{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.payment-status-grid-v63 span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:8px}
.payment-status-grid-v63 strong{font-size:10px;color:var(--ink)}

.customer-payment-method-v63{
 display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;margin:12px 0;
 border:1px solid #d9cfbd;border-radius:12px;background:#faf7f0
}
.customer-payment-method-icon-v63{
 width:40px;height:40px;border-radius:11px;background:#1e1e1a;color:#d5b25d;display:grid;place-items:center
}
.customer-payment-method-v63>div:nth-child(2){display:grid;gap:2px}
.customer-payment-method-v63>div:nth-child(2)>strong{font-size:13px}
.customer-payment-method-v63>div:nth-child(2)>small{font-size:9px;color:var(--muted)}
.customer-payment-breakdown-v63{
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;margin:10px 0
}
.customer-payment-breakdown-v63>div{
 display:flex;justify-content:space-between;gap:12px;padding:5px 2px;font-size:10px
}
.customer-payment-breakdown-v63>div span{color:var(--muted)}
.customer-payment-breakdown-v63>div strong{font-size:11px}
.customer-payment-breakdown-v63 .total{margin-top:4px;padding-top:9px;border-top:1px solid var(--line)}
.customer-payment-breakdown-v63 .total strong{font-family:var(--ns-font-titles-family);font-size:18px}
.customer-host-surcharge-note-v63 strong{font-size:9px!important;font-weight:700!important;color:#785e25}
.customer-windcave-panel-v63{margin-top:12px!important}

.payment-return-banner-v63{
 width:min(620px,calc(100% - 28px));margin:18px auto 0;padding:12px 14px;border-radius:12px;display:grid;gap:3px
}
.payment-return-banner-v63 strong{font-size:13px}
.payment-return-banner-v63 span{font-size:10px;line-height:1.45}
.payment-return-banner-v63.success{background:#edf7e8;border:1px solid #a9c89b;color:#365b2c}
.payment-return-banner-v63.warning{background:#fff6dc;border:1px solid #ddc36f;color:#66531d}
.payment-return-banner-v63.error{background:#faece8;border:1px solid #d5a092;color:#793b2d}

@media(max-width:760px){
 .payment-status-grid-v63{grid-template-columns:1fr 1fr}
 .customer-payment-method-v63{grid-template-columns:auto 1fr}
 .customer-payment-method-v63>.pill{grid-column:2}
}
@media(max-width:460px){
 .payment-status-grid-v63{grid-template-columns:1fr}
 .customer-payment-method-v63{grid-template-columns:auto 1fr}
}

/* ============================================================
   V64 CUSTOMER HOME / PORTAL LOGO / STAMP VISIBILITY
   ============================================================ */

/* Coffee cup artwork in unused stamps was too faint. */
.loyalty-stamp .stamp-cup{
  opacity:.52!important;
}
.loyalty-stamp.used .stamp-cup{
  opacity:.28!important;
}

/* Portal logo now behaves like a Home button for all account roles. */
.portal-home-brand-v64{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  gap:9px;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.portal-home-brand-v64:hover{
  opacity:.88;
}
.portal-home-brand-v64:focus-visible{
  outline:3px solid rgba(181,138,39,.38);
  outline-offset:4px;
  border-radius:9px;
}
.portal-home-brand-v64 img{
  flex:0 0 auto;
}

/* Customer back-home navigation */
.customer-back-home-wrap-v64{
  padding:13px 18px 0;
}
.customer-back-home-v64{
  border:0;
  background:transparent;
  color:#6f551e;
  padding:6px 0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.customer-back-home-v64:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

/* Buy Voucher gets a distinct full-width card at the top. */
.customer-buy-voucher-top-v64{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:linear-gradient(110deg,#1d1d19 0%,#2a2822 72%,#3a3221 100%)!important;
  color:#fff;
  border-color:#292821!important;
  box-shadow:none!important;
}
.customer-buy-voucher-copy-v64{
  display:flex;
  align-items:center;
  gap:14px;
}
.customer-buy-voucher-icon-v64{
  width:50px;
  height:50px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:rgba(213,178,93,.14);
  color:#d5b25d;
  border:1px solid rgba(213,178,93,.24);
  flex:0 0 auto;
}
.customer-buy-voucher-top-v64 .kicker{
  color:#d5b25d;
}
.customer-buy-voucher-top-v64 h2{
  margin:3px 0 4px!important;
  color:#fff!important;
  font-size:24px!important;
}
.customer-buy-voucher-top-v64 p{
  margin:0;
  color:#cfc7ba;
  font-size:11px;
}
.customer-buy-voucher-cta-v64{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
  border-radius:999px!important;
  min-height:42px;
}

/* Consolidated My Vouchers card */
.customer-my-vouchers-v64{
  align-self:start;
}
.customer-voucher-group-v64{
  display:grid;
  gap:9px;
  margin-top:15px;
}
.customer-voucher-group-v64+.customer-voucher-group-v64{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.customer-voucher-group-title-v64{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.customer-voucher-group-title-v64 strong{
  font-family:var(--ns-font-titles-family);
  font-size:15px;
}
.customer-voucher-group-title-v64 span{
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eee7d9;
  font-size:9px;
  font-weight:900;
}
.customer-gift-voucher-group-v64 .customer-gift-stack{
  margin-top:0;
}
.customer-no-vouchers-v64{
  margin-top:14px;
}

@media(max-width:760px){
  .customer-back-home-wrap-v64{
    padding:10px 12px 0;
  }
  .customer-buy-voucher-top-v64{
    align-items:flex-start;
    flex-direction:column;
    padding:16px!important;
  }
  .customer-buy-voucher-cta-v64{
    width:100%;
    justify-content:center;
  }
  .customer-buy-voucher-copy-v64{
    align-items:flex-start;
  }
}

/* ============================================================
   V65 EMAIL / OFFERS / INGREDIENT MASTER DATA
   ============================================================ */

.settings-master-v65{display:grid;gap:14px;grid-column:1/-1;width:100%}
.settings-master-row-v65{align-items:center}
.email-provider-panel-v65{margin:15px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#faf7f0}
.gmail-oauth-summary-v65{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
.gmail-oauth-summary-v65 span{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:10px;font-size:8px;color:var(--muted)}
.gmail-oauth-summary-v65 strong{font-size:10px;color:var(--ink);overflow-wrap:anywhere}
.email-security-note-v65{margin-top:7px;padding:8px 10px;border:1px solid #ddc475;border-radius:9px;background:#fff6da;color:#6a571f}

/* V73.0.3: keep Email Settings and Test Email at the full panel width. */
.email-settings-v65,
.email-settings-v65>form,
.email-settings-v65 #emailSettingsFormV36,
.email-settings-v65 #emailTestFormV36,
.email-settings-v65 .email-provider-panel-v65,
.email-settings-v65 .form-two,
.email-settings-v65 .form-three{
 width:100%;max-width:none;min-width:0
}
.email-settings-v65 #emailSettingsFormV36,
.email-settings-v65 #emailTestFormV36{display:block}
.email-settings-v65 #emailSettingsFormV36>.actions{width:100%;justify-content:flex-end;margin-top:16px}
.email-settings-v65 #emailTestFormV36{padding:18px;border:1px solid var(--line);border-radius:14px;background:#faf7f0}
.email-settings-v65 #emailTestFormV36 .field,
.email-settings-v65 #emailTestFormV36 input,
.email-settings-v65 #emailTestFormV36 textarea{width:100%;max-width:none}
.email-settings-v65 #emailTestFormV36 textarea{min-height:112px;resize:vertical}
.email-settings-v65 #emailTestFormV36>.btn{margin-top:4px}
@media(max-width:760px){
 .email-settings-v65 #emailSettingsFormV36>.actions .btn,
 .email-settings-v65 #emailTestFormV36>.btn{width:100%}
}

/* V73.0.4: public legal links and Google OAuth disclosures. */
.simple-footer-oauth-purpose-v73-0-4{max-width:1180px;margin:18px auto 0;color:#aaa294;font-size:11px;line-height:1.55}
.simple-footer-legal-v73-0-4{display:flex;flex-wrap:wrap;gap:15px}
.simple-footer-legal-v73-0-4 a{color:#d8caa9;text-decoration:underline;text-underline-offset:3px}
.auth-google-privacy-v73-0-4{display:grid;gap:4px;margin-top:14px;padding:11px 12px;border:1px solid #d8c99e;border-radius:11px;background:#fff8e7;color:#564a31;font-size:11px;line-height:1.45}
.auth-google-privacy-v73-0-4 strong{color:#332b1b}
.auth-legal-v73-0-4{margin:14px 0 0;text-align:center;color:var(--muted);font-size:10px;line-height:1.5}
.auth-legal-v73-0-4 a{color:#765817;font-weight:800;text-underline-offset:2px}
.oauth-publication-v73-0-4{margin:20px 0;padding:16px;border:1px solid #d8c99e;border-radius:15px;background:#fffaf0}
.oauth-publication-v73-0-4 h3{margin:0 0 3px}
.oauth-publication-v73-0-4 input[readonly]{background:#fff;color:#38342d;cursor:text}
.oauth-publication-v73-0-4>.small{margin-top:10px}
@media(max-width:720px){
 .simple-footer-oauth-purpose-v73-0-4{text-align:center}
 .simple-footer-legal-v73-0-4{justify-content:center}
 .oauth-publication-v73-0-4 .actions .btn{width:100%}
}

.ingredient-filter-bar-v65{
 display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(145px,.75fr)) auto;gap:8px;align-items:end;
 margin:13px 0;padding:11px;border:1px solid #ddd3c2;border-radius:12px;background:#faf7f0
}
.ingredient-filter-bar-v65 .field{margin:0}
.ingredient-filter-actions-v65{display:flex;gap:5px;padding-bottom:1px}
.ingredient-meta-v65 b{font-weight:850;color:#6c5420}
.ingredient-inline-v65{margin-top:10px}

.offer-audience-panel-v65{margin:14px 0;padding:14px;border:1px solid #ddd2bd;border-radius:14px;background:#faf7ef}
.offer-voucher-type-grid-v65{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0}
.offer-voucher-type-grid-v65 .permission-check{padding:9px!important;border:1px solid var(--line);border-radius:10px;background:#fff}
.offer-voucher-type-grid-v65 .permission-check>span{display:grid;gap:2px}
.offer-voucher-type-grid-v65 small{font-size:8px;color:var(--muted)}
.offer-email-toggle-v65{margin-top:12px;padding:11px!important;border:1px solid #d6bd79;border-radius:10px;background:#fff7df}
.offer-delivery-summary-v65{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 2px}
.offer-delivery-summary-v65 span{display:grid;gap:3px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;font-size:8px;color:var(--muted)}
.offer-delivery-summary-v65 strong{font-size:9px;color:var(--ink)}
.offer-delivery-status-v65{color:#75642f}
.offer-create-v65{border-top:3px solid #b58a27!important}

@media(max-width:1000px){
 .ingredient-filter-bar-v65{grid-template-columns:1fr 1fr 1fr}
 .ingredient-search-v65{grid-column:1/-1}
 .ingredient-filter-actions-v65{grid-column:1/-1}
}
@media(max-width:760px){
 .ingredient-filter-bar-v65,.offer-voucher-type-grid-v65{grid-template-columns:1fr 1fr}
 .ingredient-search-v65{grid-column:1/-1}
 .gmail-oauth-summary-v65{grid-template-columns:1fr}
}
@media(max-width:560px){
 .ingredient-filter-bar-v65,.offer-voucher-type-grid-v65,.offer-delivery-summary-v65{grid-template-columns:1fr}
 .ingredient-search-v65,.ingredient-filter-actions-v65{grid-column:auto}
 .ingredient-filter-actions-v65 .btn{flex:1}
}

/* V65 Recipe ingredient search */
.recipe-ingredient-search-field-v65{
  min-width:280px;
}
.recipe-ingredient-search-line-v65{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  margin-bottom:7px;
}
.recipe-ingredient-search-line-v65 input{
  width:100%;
}
.recipe-ingredient-select-label-v65{
  margin-top:2px;
}
.recipe-add-direct-v45 .recipe-add-line{
  align-items:end;
}
@media(max-width:720px){
  .recipe-ingredient-search-field-v65{min-width:0}
  .recipe-ingredient-search-line-v65{grid-template-columns:1fr}
}

/* ============================================================
   V66 SEARCHABLE RECIPE / INGREDIENT WASTAGE
   ============================================================ */

.wastage-record-card-v66{
  grid-column:1/-1;
}
.wastage-mode-tabs-v66{
  margin:10px 0 16px;
}
.wastage-entry-form-v66{
  display:grid;
  gap:12px;
}
.wastage-search-block-v66{
  display:grid;
  grid-template-columns:minmax(260px,1.2fr) minmax(280px,1.6fr);
  gap:9px;
  align-items:end;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#faf7f0;
}
.wastage-search-line-v66{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
}
.wastage-selected-summary-v66{
  grid-column:1/-1;
  padding:8px 10px;
  border-radius:9px;
  background:#eee7da;
  color:#625a4f;
}
.recipe-wastage-preview-v66{
  margin:3px 0 2px;
  padding:12px;
  border:1px solid #d8c9a8;
  border-radius:13px;
  background:#fffaf0;
}
.recipe-wastage-preview-v66 h4{
  margin:3px 0 2px;
  font-size:17px;
}
.recipe-wastage-preview-v66 table{
  margin-top:8px;
}
.recipe-wastage-short-v66{
  background:#fff0eb!important;
}
.recipe-wastage-short-v66 td{
  color:#7a3b2d;
}
.wastage-page-v66 td .small{
  margin-top:2px;
}
@media(max-width:760px){
  .wastage-search-block-v66{
    grid-template-columns:1fr;
  }
  .wastage-selected-summary-v66{
    grid-column:auto;
  }
  .wastage-search-line-v66{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V67 PROFESSIONAL ORDER LIST
   ============================================================ */

.order-list-v67{
  padding:0!important;
  overflow:hidden!important;
  background:#f8f5ee!important;
}
.order-list-title-row-v67{
  padding:18px 18px 4px;
}
.order-list-title-row-v67 h2{
  margin:3px 0 3px;
}
.order-list-v67>.order-list-tabs-v44,
.order-list-v67>.order-product-search-v59,
.order-list-v67>.order-request-form-v67,
.order-list-v67>.order-selection-toolbar-v67,
.order-list-v67>.order-email-help-v67{
  margin-left:18px!important;
  margin-right:18px!important;
}
.order-list-v67>.order-list-tabs-v44{
  margin-top:10px;
}
.order-request-form-v67{
  padding:13px;
  margin-top:10px;
  border:1px solid #ddd3c1;
  border-radius:13px;
  background:#fffdf8;
}
.order-request-title-v67 h3{
  margin:0 0 2px;
}
.order-request-form-v67 .order-request-grid{
  margin-top:9px;
}
.order-selection-toolbar-v67{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  margin-top:12px;
  margin-bottom:10px;
  border:1px solid #cfc4af;
  border-radius:13px;
  background:#eee7d9;
}
.order-global-select-v67{
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
}
.order-global-select-v67>input,
.supplier-select-label-v67>input,
.order-select-v67{
  width:18px!important;
  height:18px!important;
  accent-color:#8a6b25;
  cursor:pointer;
  flex:0 0 auto;
}
.order-global-select-v67>span,
.supplier-select-label-v67>span{
  display:grid;
  gap:1px;
}
.order-global-select-v67 strong{
  font-size:10px;
}
.order-global-select-v67 small{
  font-size:8.5px;
  color:#70675a;
}
.order-email-help-v67{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:0!important;
  margin-bottom:13px!important;
  padding:10px 12px!important;
  border:1px solid #d9c590!important;
  border-radius:12px!important;
  background:#fff8e6!important;
}
.order-help-icon-v67{
  width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  background:#efe1b8;color:#6f5417;flex:0 0 auto;
}
.order-email-help-v67>div{
  display:grid;gap:2px;
}
.order-email-help-v67>div>span{
  font-size:9px;color:#685f51;line-height:1.4;
}

.order-card-groups-v67{
  gap:12px!important;
  padding:0 18px 18px;
}
.supplier-order-group-v67{
  border:1px solid #d6cdbf!important;
  border-radius:16px!important;
  background:#fff;
  box-shadow:0 5px 18px rgba(41,35,25,.04);
}
.supplier-order-head-v67{
  background:#f1ece2!important;
  color:#1f1d19!important;
  border-bottom:1px solid #ddd3c4;
  padding:12px 14px!important;
}
.supplier-order-title-v67{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px!important;
}
.supplier-order-title-v67>div{
  display:grid;
  gap:2px;
}
.supplier-order-title-v67>div>strong{
  font-size:14px;
}
.supplier-order-title-v67>div>span{
  font-size:9px;color:#6f675c;
}
.supplier-accent-v67{
  display:block;
  width:5px;
  min-height:40px;
  border-radius:999px;
  flex:0 0 auto;
}
.supplier-head-actions-v67{
  justify-content:flex-end;
}
.supplier-order-estimate-v67{
  display:grid;
  gap:1px;
  text-align:right;
  padding-right:3px;
}
.supplier-order-estimate-v67 small{
  font-size:7.5px!important;
  color:#786f62!important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.supplier-order-estimate-v67 strong{
  font-size:12px;
}
.supplier-select-label-v67{
  background:#fff!important;
  border:1px solid #d5ccbc;
  padding:7px 9px!important;
  min-height:40px;
}
.supplier-select-label-v67 strong{
  font-size:9px;
}
.supplier-select-label-v67 small{
  font-size:7.5px!important;
  color:#7a7164!important;
}
.order-selected-btn-v67{
  min-height:40px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  background:#1f1e1a!important;
  color:#fff!important;
  border-color:#1f1e1a!important;
  font-weight:900!important;
}
.order-selected-btn-v67:hover:not(:disabled){
  background:#37332c!important;
}
.order-selected-btn-v67:disabled{
  opacity:.42!important;
  cursor:not-allowed;
}
.order-selected-btn-v67.is-busy-v67{
  opacity:.72!important;
}
.supplier-order-warning-v67{
  padding:8px 14px;
  font-size:9px;
  color:#7d4b28;
  background:#fff0e7;
  border-bottom:1px solid #ecd0be;
}

.order-item-card-v67{
  padding:0!important;
  transition:background .15s ease,box-shadow .15s ease;
}
.order-item-card-v67.selected-v67{
  background:#fffdf6!important;
  box-shadow:inset 3px 0 #b58a27;
}
.order-item-main-v67{
  padding:11px 13px 8px;
}
.order-item-identity-v67>strong{
  font-size:13px!important;
}
.order-item-stock-row-v67{
  display:grid;
  grid-template-columns:minmax(160px,1.3fr) minmax(70px,.55fr) minmax(70px,.55fr) minmax(130px,1fr);
  gap:8px;
  align-items:center;
  margin:0 13px 0 47px;
  padding:8px 10px;
  border-radius:9px;
  background:#f2eee6;
}
.order-item-stock-row-v67>span{
  display:grid;
  gap:2px;
}
.order-item-stock-row-v67 small{
  font-size:7.5px;
  color:#786f62;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.order-item-stock-row-v67 b{
  font-size:9px;
}
.order-current-stock-v67 strong{
  font-size:13px;
  color:#5f4919;
}
.order-item-meta-v67{
  margin:8px 13px 0 47px!important;
  padding:8px 0 10px!important;
}
.order-item-meta-v67 span{
  font-size:8.5px;
}

@media(max-width:900px){
  .order-selection-toolbar-v67{
    align-items:flex-start;
    flex-direction:column;
  }
  .order-selection-toolbar-v67>.actions{
    width:100%;
  }
  .order-item-stock-row-v67{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .order-list-v67>.order-list-tabs-v44,
  .order-list-v67>.order-product-search-v59,
  .order-list-v67>.order-request-form-v67,
  .order-list-v67>.order-selection-toolbar-v67,
  .order-list-v67>.order-email-help-v67{
    margin-left:12px!important;
    margin-right:12px!important;
  }
  .order-list-title-row-v67{
    padding:14px 12px 3px;
  }
  .order-card-groups-v67{
    padding:0 12px 14px;
  }
  .supplier-head-actions-v67{
    justify-content:stretch;
  }
  .supplier-order-estimate-v67{
    text-align:left;
    width:100%;
  }
  .supplier-select-label-v67,
  .order-selected-btn-v67{
    flex:1 1 150px;
  }
  .order-item-main-v67{
    padding:10px 10px 7px;
  }
  .order-item-stock-row-v67{
    margin:0 10px 0 40px;
    grid-template-columns:1fr 1fr;
  }
  .order-item-meta-v67{
    margin:7px 10px 0 40px!important;
  }
}
@media(max-width:460px){
  .order-item-stock-row-v67{
    grid-template-columns:1fr;
  }
  .order-selection-toolbar-v67>.actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .supplier-select-label-v67,
  .order-selected-btn-v67{
    width:100%;
    flex-basis:100%;
  }
}

/* ============================================================
   V68 COMPACT ORDER HEADER / CIRCULAR CHECKS / OFFER / RECIPES
   ============================================================ */

/* Supplier header: keep supplier, Select All and Order Selected in one compact row. */
.supplier-order-head-v67{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:54px;
  padding:8px 12px!important;
}
.supplier-order-title-v67{
  min-width:0;
  align-items:center!important;
}
.supplier-accent-v67{
  min-height:34px!important;
}
.supplier-order-title-v67>div{
  min-width:0;
}
.supplier-order-title-v67>div>strong{
  line-height:1.15;
}
.supplier-order-title-v67>div>span,
.supplier-order-title-v67>div>small{
  line-height:1.2;
}
.supplier-head-actions-v67{
  width:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  white-space:nowrap;
}
.supplier-order-estimate-v67{
  width:auto!important;
  min-width:70px;
  padding:0 2px 0 0!important;
}
.supplier-select-label-v67{
  min-height:34px!important;
  padding:5px 8px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex:0 0 auto!important;
}
.supplier-select-label-v67>span{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
}
.supplier-select-label-v67>span strong,
.supplier-select-label-v67>span small{
  line-height:1!important;
}
.order-selected-btn-v67{
  min-height:34px!important;
  height:34px!important;
  padding:6px 10px!important;
  flex:0 0 auto!important;
}

/* Clear circular tick controls for global, supplier and individual order selection. */
.order-global-select-v67>input,
.supplier-select-label-v67>input,
.order-select-v67{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  border:1.8px solid #8d8069!important;
  border-radius:50%!important;
  background:#fff!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:11px 11px!important;
  box-shadow:inset 0 0 0 2px #fff;
  cursor:pointer;
}
.order-global-select-v67>input:checked,
.supplier-select-label-v67>input:checked,
.order-select-v67:checked{
  border-color:#8a6b25!important;
  background-color:#8a6b25!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.3 6.5 11.4 12.8 4.8' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.order-global-select-v67>input:indeterminate,
.supplier-select-label-v67>input:indeterminate{
  border-color:#8a6b25!important;
  background-color:#8a6b25!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}
.order-global-select-v67>input:focus-visible,
.supplier-select-label-v67>input:focus-visible,
.order-select-v67:focus-visible{
  outline:3px solid rgba(181,138,39,.25)!important;
  outline-offset:2px;
}

/* Bigger offer description composer. */
.offer-valid-until-v68{
  width:min(320px,100%);
}
.offer-description-field-v68{
  margin-top:10px;
}
.offer-description-field-v68 textarea{
  min-height:132px;
  resize:vertical;
  line-height:1.5;
}

/* Recipe add-ingredient layout: search row first, then aligned controls. */
.recipe-ingredient-form-v68{
  display:grid;
  gap:9px;
}
.recipe-ingredient-search-field-v68{
  width:100%;
  min-width:0!important;
  margin:0!important;
}
.recipe-ingredient-entry-row-v68{
  display:grid;
  grid-template-columns:minmax(260px,1.6fr) minmax(110px,.55fr) minmax(120px,.55fr) auto;
  align-items:start;
  gap:9px;
}
.recipe-ingredient-entry-row-v68 .field{
  margin:0!important;
  min-width:0;
}
.recipe-ingredient-entry-row-v68 label{
  min-height:15px;
  display:flex;
  align-items:center;
}
.recipe-ingredient-picker-v68 select,
.recipe-ingredient-quantity-v68 input,
.recipe-ingredient-unit-v68 input{
  height:40px!important;
  min-height:40px!important;
}
.recipe-ingredient-quantity-v68 input{
  width:100%;
}
.recipe-ingredient-unit-v68 input[readonly]{
  background:#eeeae1!important;
  color:#4c473f!important;
  cursor:default;
  font-weight:800;
}
.recipe-add-button-v68{
  min-height:40px!important;
  height:40px!important;
  align-self:start;
  margin-top:15px;
  white-space:nowrap;
}
.recipe-ingredient-picker-v68 .small,
.recipe-ingredient-unit-v68 .small{
  min-height:13px;
  margin-top:3px;
}

@media(max-width:820px){
  .supplier-order-head-v67{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .supplier-order-estimate-v67{
    display:none!important;
  }
  .supplier-head-actions-v67{
    width:auto!important;
  }
  .supplier-select-label-v67,
  .order-selected-btn-v67{
    width:auto!important;
    flex:0 0 auto!important;
  }
  .recipe-ingredient-entry-row-v68{
    grid-template-columns:minmax(220px,1.5fr) minmax(100px,.6fr) minmax(105px,.6fr);
  }
  .recipe-add-button-v68{
    grid-column:1/-1;
    justify-self:start;
    margin-top:0;
  }
}
@media(max-width:620px){
  .supplier-order-head-v67{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    padding:7px 9px!important;
  }
  .supplier-order-title-v67{
    flex:1 1 auto;
  }
  .supplier-order-title-v67>div>small{
    display:none;
  }
  .supplier-order-title-v67>div>span{
    font-size:8px!important;
  }
  .supplier-select-label-v67{
    padding:5px 6px!important;
  }
  .supplier-select-label-v67>span small{
    display:none;
  }
  .supplier-select-label-v67>span strong{
    font-size:8px!important;
  }
  .order-selected-btn-v67{
    padding:6px 8px!important;
    font-size:8px!important;
  }
  .order-selected-btn-v67 svg{
    width:14px;height:14px;
  }
  .recipe-ingredient-entry-row-v68{
    grid-template-columns:minmax(0,1fr) minmax(90px,.45fr);
  }
  .recipe-ingredient-picker-v68{
    grid-column:1/-1;
  }
  .recipe-add-button-v68{
    grid-column:1/-1;
    width:100%;
    justify-content:center;
  }
}

/* ============================================================
   V69 COMPACT INGREDIENTS / STOCKTAKE / DAILY ORDERS
   ============================================================ */

/* Ingredients: quick tabs instead of an add form at the bottom of a long list. */
.ingredient-tabs-v69{margin:12px 0 14px!important}
.ingredient-tabs-v69 .subtab{min-height:36px}
.ingredient-add-tab-v69{padding:4px 0 2px}
.ingredient-add-heading-v69{margin-bottom:12px}
.ingredient-add-heading-v69 h3{margin:3px 0}
.ingredient-add-form-v69{max-width:980px}
.ingredient-add-actions-v69{margin-top:13px}
.ingredient-list-tab-v69{min-width:0}

/* Stocktake branch selector and ingredient selector: widen to show full names. */
#stocktakeAdminBranchV40{
  width:100%!important;
  min-width:340px!important;
  max-width:520px!important;
}
.branch-page-context-v40 .compact-branch-filter-v40:has(#stocktakeAdminBranchV40){
  width:min(520px,100%)!important;
  max-width:520px!important;
}
.stocktake-full .stocktake-search-grid{
  grid-template-columns:minmax(420px,1.35fr) minmax(280px,.65fr)!important;
}
.stocktake-full .stocktake-method{min-width:0!important}
#stocktakeIngredientSelect{
  width:100%!important;
  min-width:0!important;
  min-height:190px!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.stocktake-full #stocktakeNameSearch,
.stocktake-full #stocktakeManualCode{width:100%!important}

/* Daily Ordered List: real circular checks, working master selection and no horizontal list scrollbar. */
.daily-order-table-wrap-v69{
  overflow:visible!important;
  width:100%!important;
  max-width:100%!important;
}
.daily-order-table-v69{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  font-size:10px!important;
}
.daily-order-table-v69 th,
.daily-order-table-v69 td{
  padding:7px 6px!important;
  vertical-align:top!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.daily-order-table-v69 .daily-col-check-v69{width:44px;text-align:center}
.daily-order-table-v69 .daily-col-item-v69{width:20%}
.daily-order-table-v69 .daily-col-qty-v69{width:15%}
.daily-order-table-v69 .daily-col-receive-v69{width:9%}
.daily-order-table-v69 .daily-col-discrepancy-v69{width:19%}
.daily-order-table-v69 .daily-col-photo-v69{width:9%}
.daily-order-table-v69 .daily-col-staff-v69{width:11%}
.daily-order-table-v69 .daily-col-status-v69{width:9%}
.daily-order-table-v69 .daily-col-action-v69{width:10%}
.daily-order-table-v69 input,
.daily-order-table-v69 select{
  max-width:100%!important;
  min-width:0!important;
  width:100%!important;
  font-size:9px!important;
  padding:6px!important;
}
.daily-order-table-v69 input[type=file]{
  width:100%!important;
  font-size:8px!important;
  padding:3px!important;
}
.daily-qty-stack-v69{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;align-items:end}
.daily-qty-stack-v69 span{display:grid;gap:1px;padding:4px;border-radius:7px;background:#f4f0e7}
.daily-qty-stack-v69 small{font-size:6.5px;text-transform:uppercase;color:#777064;letter-spacing:.04em}
.daily-qty-stack-v69 strong{font-size:10px}
.daily-qty-stack-v69>b{grid-column:1/-1;font-size:7.5px;color:#71685b}
.daily-col-discrepancy-v69 select{margin-bottom:4px}
.daily-col-staff-v69 .small{margin-top:3px}
.delivery-actions-v69{padding:8px 10px!important;gap:10px!important}
.delivery-guidance-v69{flex:1;min-width:180px}
.daily-select-all-label-v69{display:flex;align-items:center;gap:7px;min-width:max-content;cursor:pointer}
.daily-select-all-label-v69>span{display:grid;gap:1px}
.daily-select-all-label-v69 strong{font-size:9px}
.daily-select-all-label-v69 small{font-size:7.5px;color:#726a5e}
.daily-select-all-v69,
.daily-order-check-v69{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  border:1.7px solid #8d8069!important;
  background:#fff!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:10px 10px!important;
  cursor:pointer!important;
  padding:0!important;
}
.daily-select-all-v69:checked,
.daily-order-check-v69:checked{
  border-color:#8a6b25!important;
  background-color:#8a6b25!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.3 6.5 11.4 12.8 4.8' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.daily-select-all-v69:indeterminate{
  border-color:#8a6b25!important;
  background-color:#8a6b25!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}

/* Ingredient Order List: flatten Selected estimate + Select All + Order Selected onto one compact line. */
.supplier-order-head-v67{
  min-height:42px!important;
  padding:5px 10px!important;
  gap:8px!important;
}
.supplier-order-title-v67{gap:7px!important}
.supplier-accent-v67{min-height:30px!important}
.supplier-order-title-v67>div{gap:0!important}
.supplier-order-title-v67>div>strong{font-size:13px!important;line-height:1.05!important}
.supplier-order-title-v67>div>span{font-size:8px!important;line-height:1.1!important}
.supplier-order-title-v67>div>small{font-size:7px!important;line-height:1.1!important}
.supplier-head-actions-v67{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  min-height:30px!important;
}
.supplier-order-estimate-v67{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  padding:0!important;
  white-space:nowrap;
}
.supplier-order-estimate-v67 small{font-size:7px!important;line-height:1!important}
.supplier-order-estimate-v67 strong{font-size:10px!important;line-height:1!important}
.supplier-select-label-v67{
  min-height:30px!important;
  height:30px!important;
  padding:4px 7px!important;
  gap:5px!important;
}
.supplier-select-label-v67>span{display:flex!important;align-items:center!important;gap:4px!important;white-space:nowrap}
.supplier-select-label-v67>span small{display:none!important}
.supplier-select-label-v67>span strong{font-size:8px!important}
.order-selected-btn-v67{
  min-height:30px!important;
  height:30px!important;
  padding:4px 8px!important;
  font-size:8.5px!important;
}

@media(max-width:900px){
  .stocktake-full .stocktake-search-grid{grid-template-columns:1fr!important}
  #stocktakeAdminBranchV40{min-width:0!important;max-width:100%!important}
  .branch-page-context-v40 .compact-branch-filter-v40:has(#stocktakeAdminBranchV40){width:100%!important;max-width:100%!important}
  .daily-order-table-v69{font-size:9px!important}
  .daily-order-table-v69 th,.daily-order-table-v69 td{padding:6px 4px!important}
  .daily-order-table-v69 .daily-col-photo-v69{width:7%}
  .supplier-order-estimate-v67{display:inline-flex!important}
}

@media(max-width:760px){
  .delivery-actions-v69{align-items:stretch!important;flex-direction:column!important}
  .daily-order-table-wrap-v69{overflow:visible!important}
  .daily-order-table-v69,.daily-order-table-v69 tbody,.daily-order-table-v69 tr,.daily-order-table-v69 td{display:block!important;width:100%!important;max-width:100%!important}
  .daily-order-table-v69 thead{display:none!important}
  .daily-order-row-v69{margin:0 0 10px;border:1px solid #ded5c6;border-radius:12px;overflow:hidden;box-shadow:inset 4px 0 0 var(--status-color)}
  .daily-order-table-v69 td{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:8px!important;padding:7px 9px!important;border-bottom:1px solid #eee8de!important}
  .daily-order-table-v69 td:last-child{border-bottom:0!important}
  .daily-order-table-v69 td::before{content:attr(data-label);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#7a7267}
  .daily-order-table-v69 .daily-col-check-v69{display:flex!important;align-items:center;justify-content:flex-start!important;text-align:left!important}
  .daily-order-table-v69 .daily-col-check-v69::before{content:'Select';width:84px}
  .daily-qty-stack-v69{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:620px){
  .supplier-order-head-v67{grid-template-columns:minmax(95px,1fr) auto!important;padding:4px 7px!important}
  .supplier-order-title-v67>div>span{display:none!important}
  .supplier-order-title-v67>div>small{display:none!important}
  .supplier-order-estimate-v67 small{display:none!important}
  .supplier-select-label-v67{padding:3px 5px!important}
  .supplier-select-label-v67>span strong{font-size:7.5px!important}
  .order-selected-btn-v67{padding:4px 6px!important;font-size:7.5px!important}
}

/* ============================================================
   V70 COVER SHIFTS / EMAIL TAB / BRANCH EDIT
   ============================================================ */
.cover-week-strip-v70{display:flex;gap:7px;overflow-x:auto;padding:8px 0 10px;scrollbar-width:none}.cover-week-strip-v70::-webkit-scrollbar{display:none}.cover-week-chip-v70{min-width:190px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #d8ba68;border-radius:11px;background:#fff8df}.cover-week-chip-v70.accepted{border-color:#87ad88;background:#edf7ed}.cover-week-chip-v70>span{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#b58a27;color:#fff;font-weight:900}.cover-week-chip-v70.accepted>span{background:#477a4d}.cover-week-chip-v70 div{display:grid;gap:2px}.cover-week-chip-v70 strong{font-size:9px}.cover-week-chip-v70 small{font-size:8px;color:#6e6659}
.cover-shift-open-v70{border:1px dashed #c99a31!important;background:#fff8de!important;box-shadow:inset 3px 0 #c99a31}.cover-shift-filled-v70,.my-cover-shift-v70{border:1px solid #d3b24d!important;background:linear-gradient(135deg,#fff9df,#f5edd0)!important;box-shadow:inset 4px 0 #b58a27}.cover-badge-v70{display:inline-flex;width:max-content;padding:2px 6px;border-radius:999px;background:#8d681a;color:#fff;font-size:6.8px;font-weight:900;letter-spacing:.08em;margin-bottom:3px}.cover-badge-v70.filled{background:#477a4d}
.cover-shift-panel-v70{grid-column:1/-1}.cover-candidate-head-v70{margin:12px 0 7px}.cover-candidate-grid-v70{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}.cover-candidate-v70{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.cover-candidate-v70.limited{background:#fff8ed}.cover-candidate-v70>input{width:18px;height:18px;accent-color:#8a6b25;flex:0 0 auto}.cover-candidate-v70>span{display:grid;gap:2px;min-width:0}.cover-candidate-v70 small{font-size:7.5px;color:#6f675b}.cover-manager-list-v70{display:grid;gap:7px}.cover-manager-row-v70{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.cover-manager-row-v70.status-open{border-left:4px solid #b58a27}.cover-manager-row-v70.status-accepted{border-left:4px solid #477a4d;background:#f3f8ef}.cover-manager-row-v70>div{display:grid;gap:2px}
.cover-offers-section-v70{border:1px solid #d6b759!important;background:#fffaf0!important}.cover-offer-list-v70{display:grid;gap:9px}.cover-offer-card-v70{display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #dccd9a;border-radius:13px;background:#fff}.cover-offer-accent-v70{width:5px;height:100%;min-height:52px;border-radius:999px;background:#b58a27}.cover-offer-copy-v70{display:grid;gap:2px}.cover-offer-copy-v70 h3{margin:0;font-size:18px}.cover-offer-time-v70{font-weight:850;font-size:11px}.cover-offer-actions-v70{display:flex;gap:7px}
.settings-subtabs [data-settings-mode="email"]{white-space:nowrap}
.branch-wizard-v54{scroll-margin-top:18px}
@media(max-width:850px){.cover-candidate-grid-v70{grid-template-columns:1fr 1fr}.cover-offer-card-v70{grid-template-columns:5px 1fr}.cover-offer-actions-v70{grid-column:2}.cover-offer-actions-v70 .btn{flex:1}.cover-manager-row-v70{align-items:flex-start}}
@media(max-width:560px){.cover-candidate-grid-v70{grid-template-columns:1fr}.cover-offer-card-v70{grid-template-columns:4px 1fr}.cover-offer-actions-v70{display:grid;grid-template-columns:1fr 1fr}.cover-week-chip-v70{min-width:170px}}

/* ============================================================
   V71 VERSION UPDATES / PATCH ROLLBACK
   ============================================================ */

.version-settings-v71{
  grid-column:1/-1;
  display:grid;
  gap:14px;
}
.version-status-grid-v71{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.version-status-grid-v71>div{
  display:grid;
  gap:3px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf7f0;
}
.version-status-grid-v71 small{
  font-size:8px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.version-status-grid-v71 strong{
  font-size:15px;
}
.version-snapshot-lock-v71{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 10px;
  border-radius:999px;
  background:#edf6e8;
  border:1px solid #b8cfad;
  color:#3d6833;
  font-size:9px;
  font-weight:850;
}
.version-patch-status-v71{
  margin:8px 0;
  padding:9px 11px;
  border-radius:10px;
  background:#f1ece2;
  border:1px solid #d9cebb;
  font-size:9.5px;
  line-height:1.45;
}
.version-manifest-preview-v71{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 12px;
  padding:11px 12px;
  margin:8px 0;
  border:1px solid #d7c182;
  border-radius:11px;
  background:#fff8e5;
}
.version-manifest-preview-v71 strong{
  font-size:13px;
}
.version-manifest-preview-v71 span{
  font-size:10px;
  color:#6d5c31;
}
.version-manifest-preview-v71 p{
  grid-column:1/-1;
  margin:4px 0 0;
  font-size:9px;
  color:#6b6256;
}
.version-safety-list-v71{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:12px 0;
}
.version-safety-list-v71 span{
  padding:8px 9px;
  border-radius:9px;
  background:#f5f1e9;
  border:1px solid #e0d7c8;
  font-size:8.5px;
  line-height:1.4;
}
.version-prototype-note-v71{
  margin-top:10px;
  padding:9px 11px;
  border-radius:9px;
  background:#fff5d9;
  border:1px solid #dec475;
  color:#6b571d;
  font-size:9px;
}
.version-latest-patch-v71{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  margin:12px 0;
  padding:12px;
  border-radius:12px;
  background:#f6f1e8;
  border:1px solid var(--line);
}
.version-latest-patch-v71>div{
  display:grid;
  gap:2px;
}
.version-latest-patch-v71>div:last-child{
  text-align:right;
}
.version-latest-patch-v71 small{
  font-size:8px;
  color:var(--muted);
}
.version-latest-patch-v71 strong{
  font-size:16px;
}
.version-history-v71{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.version-history-row-v71{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:start;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#faf8f3;
}
.version-history-row-v71.rolled-back{
  opacity:.68;
}
.version-history-status-v71{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e5efdf;
  color:#3d6a31;
  font-weight:900;
}
.version-history-row-v71.rolled-back .version-history-status-v71{
  background:#eee8dd;
  color:#766b5b;
}
.version-history-copy-v71{
  display:grid;
  gap:3px;
}
.version-last-check-v71{
  margin-top:9px;
}
@media(max-width:900px){
  .version-status-grid-v71,
  .version-safety-list-v71{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .version-status-grid-v71,
  .version-safety-list-v71{
    grid-template-columns:1fr;
  }
  .version-latest-patch-v71{
    grid-template-columns:1fr;
  }
  .version-latest-patch-v71>div:last-child{
    text-align:left;
  }
}

/* ============================================================
   V72 AUTH / EMAIL TEMPLATES / GOOGLE CALENDAR
   ============================================================ */

.auth-shell-v72{min-height:100vh;background:#f5f0e6}
.auth-top-v72{background:#fff;border-bottom:1px solid #ddd4c5}
.auth-mode-pill-v72{padding:6px 9px;border-radius:999px;background:#eee7d9;font-size:8.5px;font-weight:800;color:#625b50}
.auth-page-v72{width:min(960px,calc(100% - 28px));margin:0 auto;padding:38px 0 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:34px;align-items:start}
.auth-intro-v72{padding:40px 10px 0}
.auth-intro-v72 h1{font-size:42px;line-height:1.05;margin:8px 0 12px}
.auth-intro-v72 p{max-width:520px;color:#756e62;line-height:1.65}
.auth-security-points-v72{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.auth-security-points-v72 span{padding:7px 10px;border-radius:999px;background:#ece5d8;font-size:8.5px;font-weight:800}
.auth-card-v72{padding:22px!important;box-shadow:0 14px 40px rgba(50,42,27,.08)}
.auth-primary-v72{margin-top:5px}
.auth-link-row-v72{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.text-action-v72{border:0;background:transparent;padding:4px 0;color:#705721;font-size:9px;font-weight:850;cursor:pointer}
.auth-back-login-v72{margin-top:12px}
.auth-divider-v72{display:flex;align-items:center;gap:10px;margin:16px 0 10px;color:#8b8274;font-size:8px}.auth-divider-v72:before,.auth-divider-v72:after{content:"";height:1px;background:#ddd4c5;flex:1}
.auth-social-wrap-v72{display:grid;gap:7px}
.auth-social-v72{border:1px solid #d8d0c2;background:#fff;border-radius:10px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:#292620}
.auth-social-v72:hover{background:#faf7f0}
.auth-social-icon-v72{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid #d8d0c2;font-size:11px;font-weight:900}
.auth-social-scope-v88{margin:2px 4px 0;text-align:center;line-height:1.45;color:#6f675c}
.auth-password-control-v89{position:relative;display:block}
.auth-password-control-v89>input{width:100%;padding-right:48px!important}
.auth-password-toggle-v89{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:#5f574c;display:grid;place-items:center;cursor:pointer}
.auth-password-toggle-v89:hover{background:#f1ece3;color:#292620}
.auth-password-toggle-v89:focus-visible{outline:2px solid #8c6b28;outline-offset:1px}
.auth-password-toggle-v89 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-password-toggle-v89 .password-eye-closed-v89{display:none}
.auth-password-toggle-v89[aria-pressed="true"] .password-eye-open-v89{display:none}
.auth-password-toggle-v89[aria-pressed="true"] .password-eye-closed-v89{display:block}
.auth-registration-closed-v72,.auth-message-v72{display:grid;gap:3px;padding:10px 11px;border-radius:10px;margin-bottom:12px;background:#fff4d8;border:1px solid #dec579;color:#6c571c;font-size:9px}
.auth-registration-closed-v72{margin-top:14px}.auth-registration-closed-v72 span{font-size:8.5px}
.auth-demo-v72{margin-top:15px;border-top:1px solid #e0d8ca;padding-top:10px}.auth-demo-v72 summary{cursor:pointer;font-size:8.5px;color:#766d60}

.email-template-layout-v72{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;margin-top:14px}
.email-template-list-v72{display:grid;align-content:start;gap:6px}
.email-template-list-v72 button{border:1px solid #ddd4c5;background:#faf7f0;border-radius:10px;text-align:left;padding:10px;display:grid;gap:2px;cursor:pointer}
.email-template-list-v72 button.active{border-color:#b58a27;background:#fff8e6;box-shadow:inset 3px 0 #b58a27}
.email-template-list-v72 strong{font-size:10px}.email-template-list-v72 span{font-size:8px;color:#756e62}
.email-template-editor-v72{min-width:0}
.email-template-editor-v72 textarea{font-family:inherit;line-height:1.45}
.email-template-editor-v72 #emailTemplateHtmlV72{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}
.email-template-placeholders-v72{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:8px 0;padding:9px;border-radius:9px;background:#f1ece2}
.email-template-placeholders-v72 strong{font-size:8px;margin-right:5px}.email-template-placeholders-v72 code{font-size:8px;background:#fff;padding:3px 5px;border-radius:5px}

.auth-provider-settings-v72{display:grid;gap:8px;margin:8px 0 14px}
.auth-provider-row-v72{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(180px,1fr) minmax(220px,1.2fr);gap:8px;align-items:end;padding:10px;border:1px solid #ddd4c5;border-radius:11px;background:#faf7f0}
.auth-provider-row-v72:last-child{grid-template-columns:minmax(180px,.65fr) minmax(170px,.85fr) minmax(120px,.55fr) minmax(220px,1.1fr)}
.auth-provider-row-v72.auth-provider-row-v74{grid-template-columns:minmax(170px,.55fr) minmax(0,2fr);align-items:start}
.auth-provider-credentials-v74{display:grid;gap:8px;min-width:0}
.auth-provider-credentials-v74 .form-two,.auth-provider-credentials-v74 .field{margin:0}
.auth-provider-row-v72 .field{margin:0}.auth-secure-note-v72,.calendar-security-note-v72{padding:10px 11px;border-radius:9px;background:#eef3e9;border:1px solid #c4d3ba;color:#47603d;font-size:9px;margin:10px 0}

.calendar-branch-grid-v72{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.calendar-sync-options-v72{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 12px}
.google-calendar-settings-v72 textarea{line-height:1.45}

@media(max-width:850px){
 .auth-page-v72{grid-template-columns:1fr;width:min(620px,calc(100% - 24px));padding-top:20px}
 .auth-intro-v72{padding:15px 2px 0}.auth-intro-v72 h1{font-size:34px}
 .email-template-layout-v72{grid-template-columns:1fr}.email-template-list-v72{grid-template-columns:repeat(3,minmax(0,1fr))}
 .auth-provider-row-v72,.auth-provider-row-v72:last-child{grid-template-columns:1fr 1fr}.auth-provider-row-v72 .permission-check{grid-column:1/-1}
}
@media(max-width:600px){
 .auth-link-row-v72{flex-direction:column}.email-template-list-v72{grid-template-columns:1fr}
 .auth-provider-row-v72,.auth-provider-row-v72:last-child,.calendar-branch-grid-v72,.calendar-sync-options-v72{grid-template-columns:1fr}
}

/* Production responsive hardening */
html,body,#app{max-width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}img,video,canvas,iframe,svg{max-width:100%}input,select,textarea,button{max-width:100%;min-width:0}.grid>*,.row>*,.form-two>*,.form-three>*,.card>*{min-width:0}p,td,th,label,strong,span{overflow-wrap:anywhere}
@media(max-width:700px){.form-two,.form-three,.calendar-branch-grid-v72,.calendar-sync-options-v72,.version-status-grid-v71,.version-safety-list-v71{grid-template-columns:1fr!important}.table-wrap{max-width:100%;overflow-x:auto}.auth-page-v72{width:min(100% - 20px,620px)!important}.auth-provider-row-v72,.auth-provider-row-v72:last-child{grid-template-columns:1fr!important}}

/* v73.0.9: separate, responsive notification settings by enquiry type. */
.booking-notification-groups-v79{display:grid;gap:16px;margin:18px 0}.booking-notification-group-v79{display:grid;gap:12px;padding:18px;border:1px solid var(--line,#ddd3c2);border-radius:14px;background:rgba(255,255,255,.42)}.booking-notification-group-v79 h3,.booking-notification-group-v79 p{margin:0}.booking-notification-group-v79 .permission-check{height:100%}.booking-notifications-v77 form>.btn{width:100%;margin-top:2px}@media(max-width:700px){.booking-notification-group-v79{padding:14px}.booking-notification-groups-v79{gap:12px}}

/* V72 production UI startup and responsive hotfix. */
.app-loading-shell{
 min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
 padding:28px;text-align:center;color:var(--ink);background:var(--paper)
}
.app-loading-shell img{width:82px;height:82px;object-fit:contain}
.app-loading-shell strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500}
.app-loading-shell span{font-size:12px;color:var(--muted)}
.app-loading-spinner{width:28px;height:28px;border:3px solid #ddd4c3;border-top-color:var(--gold);border-radius:50%;animation:northstar-loading-spin .8s linear infinite}
@keyframes northstar-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.app-loading-spinner{animation:none;border-top-color:#ddd4c3;background:var(--gold)}}
.app-startup-error{width:min(680px,calc(100% - 28px));margin:8vh auto;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}
.app-startup-error img{width:70px;height:70px;object-fit:contain}
.app-startup-error h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,6vw,42px);font-weight:500;margin:12px 0}
.app-startup-error p{line-height:1.6;color:var(--muted)}
.app-noscript{margin:20px;padding:18px;border:1px solid #d7b85f;border-radius:14px;background:#fff9e8;text-align:center}

#app,.site,.portal-shell,.backend-app-shell,.backend-layout,.backend-content,.backend-content main,.backend-content section,.backend-content .card{min-width:0;max-width:100%}
.row>div,.actions,.site-actions,.portal-top-actions-v55,.selected-location-copy-v58,.menu-row-copy-v58{min-width:0}
.mobile-menu.open{max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}
.backend-content .table-wrap,.backend-content [class*="table-wrap"],.branch-menu-table-v54{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}

@media(max-width:760px){
 .backend-content table:not(.daily-order-table-v69){display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .backend-content .card>.row,.backend-content .list-item>.row{align-items:flex-start}
 .backend-content .actions{max-width:100%}
 .backend-content .actions .btn{white-space:normal}
 .recipe-select,.recipe-ingredient-search-field-v65,.branch-control-row .field,.menu-list-tab-field,.leave-branch-filter,.staff-branch-lock-v40{min-width:0!important;max-width:100%!important}
 .backend-bottom-nav button{font-size:clamp(7px,calc(var(--ns-font-navigation-size) * .82),10px)!important;overflow:hidden}
 .backend-bottom-nav button>span:last-child{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .report-email-modal-v59{padding:10px}
 .report-email-dialog-v59{width:100%;max-height:calc(100dvh - 20px);padding:14px}
 .permission-sheet{padding:10px}
 .permission-card{max-height:calc(100dvh - 20px);overflow-y:auto;padding:18px}
}

@media(max-width:600px){
 .site-actions-v58 .nav-book-v58{display:none}
 .site-nav-v60 .public-location-select-v58 select{min-width:0!important;width:clamp(92px,32vw,132px)!important;max-width:132px!important}
 .auth-top-v72{display:grid;grid-template-columns:auto 1fr auto;gap:7px;padding:8px 10px}
 .auth-top-v72 .portal-brand{justify-self:center;min-width:0}
 .auth-top-v72 .portal-brand>div{display:none}
 .auth-top-v72 .portal-brand img{width:38px;height:38px}
 .auth-top-v72 #backWebsite{font-size:0;width:40px;height:38px;padding:0}
 .auth-top-v72 #backWebsite::before{content:"←";font-size:18px}
 .auth-mode-pill-v72{justify-self:end;max-width:118px;text-align:center}
 .booking-stage-actions-v58{display:grid;grid-template-columns:1fr 1fr}
 .booking-stage-actions-v58 .btn{width:100%;white-space:normal}
}

@media(max-width:380px){
 .site-nav-v58{gap:7px!important;padding-inline:8px!important}
 .site-nav-v58 .site-logo img{width:40px!important;height:40px!important}
 .site-actions-v58{gap:4px!important}
 .public-location-select-v58{padding-left:4px}
 .hamburger-v58{width:36px;height:36px}
 .portal-top-actions-v55{gap:3px}
 .header-branch-control-v55 select{min-width:92px!important;max-width:112px!important}
 .header-website-button-v56,.header-settings-button-v55,.header-logout-v57{width:32px!important;min-width:32px!important;height:32px!important}
 .booking-stage-actions-v58{grid-template-columns:1fr}
}

/* V72.3 centred, professional authentication layout. */
.auth-shell-v72{min-height:100dvh;background:linear-gradient(180deg,#f8f5ed 0%,#eee7d9 100%)}
.auth-top-v72{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:10px clamp(14px,3vw,32px);gap:14px}
.auth-top-v72 #backWebsite{justify-self:start;font-size:13px;min-height:42px;padding:0 16px}
.auth-top-v72 .portal-brand{justify-self:center}
.auth-top-v72 .auth-mode-pill-v72{justify-self:end;font-size:11px;line-height:1.25;padding:8px 12px;white-space:nowrap}
.auth-page-v72{display:block;width:min(540px,calc(100% - 32px));margin:0 auto;padding:clamp(28px,6vh,64px) 0 72px}
.auth-card-v72{width:100%;max-width:none;margin:0!important;padding:clamp(24px,4vw,34px)!important;border:1px solid #ddd4c5;border-radius:22px;box-shadow:0 22px 60px rgba(50,42,27,.12)}
.auth-intro-v72{padding:0 0 26px;text-align:center;border-bottom:1px solid #e3dccf;margin-bottom:24px}
.auth-intro-v72 .kicker{font-size:11px;letter-spacing:.12em}
.auth-intro-v72 h1{font-size:clamp(30px,5vw,42px);line-height:1.1;margin:9px 0 12px}
.auth-intro-v72 p{max-width:440px;margin:0 auto;color:#6e675c;font-size:15px;line-height:1.6}
.auth-security-points-v72{justify-content:center;gap:8px;margin-top:18px}
.auth-security-points-v72 span{padding:7px 10px;font-size:11px;line-height:1.25}
.auth-card-v72 form{display:grid;gap:17px}
.auth-card-v72 .field{display:grid;gap:7px;margin:0}
.auth-card-v72 .field label{font-size:13px;font-weight:800;color:#38342d}
.auth-card-v72 input,.auth-card-v72 select{width:100%;min-height:50px;padding:11px 13px;border:1px solid #cfc5b5;border-radius:11px;background:#fff;font-size:16px;line-height:1.3;color:#24211d}
.auth-card-v72 input:focus,.auth-card-v72 select:focus{outline:3px solid rgba(181,138,39,.18);border-color:#a87c1f}
.auth-card-v72 .auth-primary-v72{min-height:50px;margin-top:2px;font-size:14px;font-weight:850;border-radius:11px}
.auth-link-row-v72{align-items:center;margin-top:16px;gap:16px}
.text-action-v72{padding:5px 0;font-size:12.5px;line-height:1.4;text-align:left}
.auth-divider-v72{margin:20px 0 13px;font-size:12px}
.auth-social-wrap-v72{gap:9px}
.auth-social-v72{min-height:48px;border-radius:11px;font-size:13px}
.auth-social-icon-v72{width:26px;height:26px;font-size:13px}
.auth-registration-closed-v72,.auth-message-v72{gap:5px;padding:13px 14px;border-radius:11px;margin-bottom:18px;font-size:13px;line-height:1.45}
.auth-registration-closed-v72{margin-top:18px;margin-bottom:0}.auth-registration-closed-v72 span{font-size:12px}
.auth-back-login-v72{min-height:48px;margin-top:14px;font-size:13px}
.auth-demo-v72 summary{font-size:12px}

@media(max-width:600px){
 .auth-top-v72{grid-template-columns:44px 1fr auto;min-height:62px;padding:8px 10px;gap:7px}
 .auth-top-v72 #backWebsite{width:42px;height:42px;min-height:42px;padding:0}
 .auth-top-v72 .portal-brand img{width:40px;height:40px}
 .auth-top-v72 .auth-mode-pill-v72{max-width:104px;font-size:9.5px;padding:7px 8px;white-space:normal}
 .auth-page-v72{width:min(100% - 20px,540px)!important;padding:20px 0 42px}
 .auth-card-v72{padding:22px 18px!important;border-radius:17px}
 .auth-intro-v72{padding-bottom:20px;margin-bottom:20px}
 .auth-intro-v72 h1{font-size:30px}
 .auth-intro-v72 p{font-size:14px}
 .auth-security-points-v72{display:grid;grid-template-columns:1fr;justify-items:center;margin-top:14px}
 .auth-security-points-v72 span{font-size:10.5px}
 .auth-link-row-v72{align-items:flex-start;gap:7px}
}

/* V73.0.19 production responsive, accessibility and event-driven session layer. */
.northstar-sync-indicator-v85{
 position:fixed;z-index:10000;right:max(12px,env(safe-area-inset-right));bottom:max(84px,calc(12px + env(safe-area-inset-bottom)));
 transform:translateY(8px);opacity:0;pointer-events:none;padding:8px 12px;border-radius:999px;background:#24211d;color:#fff;
 box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:12px;font-weight:850;line-height:1.2;transition:opacity .18s,transform .18s
}
.northstar-sync-indicator-v85.show{opacity:1;transform:none}
.northstar-sync-indicator-v85.saved{background:#2f6e3a}.northstar-sync-indicator-v85.error{background:#9f332d}
#emailGmailFieldsV65,#emailApiFieldsV65{display:none!important}
form[aria-busy="true"]{cursor:progress}form[aria-busy="true"] button[type="submit"]{cursor:progress;opacity:.7}
.auth-shell-v72,.portal-shell,.site{min-height:100vh;min-height:100dvh}
.grid>*,.form-two>*,.form-three>*,.form-four>*,.row>*,.actions>*,.backend-content>*,.card>*{min-width:0}
input,select,textarea,button{max-width:100%}
textarea{resize:vertical}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.table-wrap table{width:100%}
.actions,.row,.booking-pills{flex-wrap:wrap}

/* V73.0.20 compact table selector: supports large 35+ table inventories. */
.booking-table-planner-inline-v47{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:4px!important}
.booking-table-choice-v47{gap:4px!important;padding:5px 6px!important;border-radius:7px!important;align-items:center!important;min-height:38px}
.booking-table-choice-v47>input[type="checkbox"]{width:14px!important;height:14px!important;margin:0!important;flex:0 0 14px}
.booking-table-choice-v47 span{gap:0!important;line-height:1.05}.booking-table-choice-v47 span strong{font-size:9px}.booking-table-choice-v47 small,.booking-table-choice-v47 em{font-size:7px!important;line-height:1.1}
@media(max-width:1100px){.booking-table-planner-inline-v47{grid-template-columns:repeat(7,minmax(0,1fr))!important}}
@media(max-width:760px){.booking-table-planner-inline-v47{grid-template-columns:repeat(5,minmax(0,1fr))!important}.booking-table-choice-v47>input[type="checkbox"]{width:16px!important;height:16px!important;flex-basis:16px}}
@media(max-width:520px){.booking-table-planner-inline-v47{grid-template-columns:repeat(4,minmax(0,1fr))!important}.booking-table-choice-v47{padding:5px!important}.booking-table-choice-v47 small,.booking-table-choice-v47 em{display:none}}
.btn,button,a{touch-action:manipulation}
:where(input,select,textarea,button,a,[tabindex]):focus-visible{outline:3px solid rgba(168,124,31,.34);outline-offset:2px}
:where(input,select,textarea){scroll-margin-top:120px}
.public-photo-lightbox-v58,.modal,.dialog{max-height:100vh;max-height:100dvh}

@media(max-width:1024px){
 .form-four{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-branch-grid{grid-template-columns:1fr}
 .settings-subtabs,.subtabs,.tabs{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
 .settings-subtabs>*,.subtabs>*,.tabs>*{scroll-snap-align:start;flex:0 0 auto}
}

@media(max-width:760px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{overflow-x:hidden}
 input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important}
 .form-two,.form-three,.form-four,.report-filter-grid,.stocktake-search-grid,.booking-grid,.branch-contact-grid{grid-template-columns:minmax(0,1fr)!important}
 .grid{padding-inline:10px;gap:10px}
 .card{padding:15px!important;border-radius:15px}
 .row{align-items:flex-start;gap:10px}
 .actions{display:flex;gap:8px;width:100%}
 .actions>.btn,.actions>button{flex:1 1 140px;min-height:44px;white-space:normal}
 form>.btn,form>button[type="submit"],.btn.full{min-height:46px}
 .table-wrap{margin-inline:-5px;padding:0 5px}
 .table-wrap table{min-width:max-content}
 th,td{white-space:normal;vertical-align:top}
 .nav-stack,.portal-top,.backend-mobile-subnav{padding-top:env(safe-area-inset-top)}
 .bottom-nav{padding-bottom:max(7px,env(safe-area-inset-bottom))}
 .toast{bottom:max(90px,calc(74px + env(safe-area-inset-bottom)))}
 .northstar-sync-indicator-v85{left:50%;right:auto;bottom:max(92px,calc(80px + env(safe-area-inset-bottom)));transform:translate(-50%,8px);white-space:nowrap}
 .northstar-sync-indicator-v85.show{transform:translate(-50%,0)}
 .editor-image-preview{height:auto;aspect-ratio:16/9}
 .gallery-stage{min-height:240px;border-radius:20px}
 .gallery-thumb span{white-space:normal}
 .footer-contact-head,.footer-bottom{align-items:flex-start;flex-direction:column}
}

@media(max-width:480px){
 .grid{padding-inline:7px}
 .card{padding:13px!important}
 .actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .actions>.btn,.actions>button{width:100%;min-height:44px}
 .report-stats,.customer-stats,.gift-audit-grid-v31{grid-template-columns:minmax(0,1fr)!important}
 .gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .permission-grid,.override-grid{grid-template-columns:minmax(0,1fr)!important}
 .public-location-select-v58 select{max-width:140px}
}

@media(hover:none) and (pointer:coarse){
 .btn,button,[role="button"],select,input:not([type="checkbox"]):not([type="radio"]){min-height:44px}
}

@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media(forced-colors:active){
 .btn,.card,input,select,textarea,.northstar-sync-indicator-v85{border:1px solid CanvasText}
}

/* V89 offer ticker above navigation and full-width offer slides below it. */
.public-offer-ticker-v89{display:flex;align-items:center;min-height:34px;background:#1d1c18;color:#f8f1e3;overflow:hidden;font-size:10px;letter-spacing:.02em}
.public-offer-ticker-label-v89{position:relative;z-index:2;align-self:stretch;display:flex;align-items:center;flex:none;padding:0 clamp(12px,3vw,34px);background:#c5a252;color:#1d1c18;text-transform:uppercase;letter-spacing:.11em;font-size:9px;white-space:nowrap}
.public-offer-ticker-window-v89{min-width:0;flex:1;overflow:hidden}
.public-offer-ticker-track-v89{display:flex;width:max-content;will-change:transform}
.public-offer-ticker-group-v89{display:flex;align-items:center;gap:22px;padding:0 24px;white-space:nowrap}
.public-offer-ticker-group-v89.duplicate{display:none}
.public-offer-ticker-item-v89{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.public-offer-ticker-item-v89>span{color:#ddd3c2}
.public-offer-ticker-item-v89 small{color:#c9a956;font-size:9px;font-weight:800}
.public-offer-ticker-group-v89>i{color:#806d40;font-size:6px}
.public-offer-ticker-v89.is-moving .public-offer-ticker-group-v89.duplicate{display:flex}
.public-offer-ticker-v89.is-moving .public-offer-ticker-track-v89{animation:public-offer-ticker-v89 32s linear infinite}
.public-offer-ticker-v89.is-moving:hover .public-offer-ticker-track-v89{animation-play-state:paused}
@keyframes public-offer-ticker-v89{to{transform:translateX(-50%)}}
.public-offer-hero-v89{position:relative;width:100%;overflow:hidden;background:#d7c6a1;border-bottom:1px solid rgba(42,35,21,.15)}
.public-offer-hero-stage-v89{position:relative;min-height:210px}
.public-offer-hero-slide-v89{position:absolute;inset:0;display:grid;place-items:center;padding:34px clamp(62px,9vw,150px);opacity:0;visibility:hidden;transform:translateX(4%);transition:opacity .65s ease,transform .65s ease,visibility .65s;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.45),transparent 34%),linear-gradient(112deg,#eadfc8,#cbb47f)}
.public-offer-hero-slide-v89:nth-child(even){background:radial-gradient(circle at 88% 30%,rgba(255,255,255,.38),transparent 34%),linear-gradient(112deg,#d6c398,#eee4d1)}
.public-offer-hero-slide-v89.active{opacity:1;visibility:visible;transform:translateX(0);z-index:1}
.public-offer-hero-copy-v89{width:min(920px,100%);text-align:center;display:grid;justify-items:center;gap:7px}
.public-offer-hero-copy-v89 h2{margin:0;font-size:clamp(28px,4vw,48px);font-weight:550;letter-spacing:-.025em}
.public-offer-hero-copy-v89 p{max-width:760px;margin:0;color:#4d4435;font-size:clamp(13px,1.6vw,17px);line-height:1.55}
.public-offer-hero-copy-v89 small{font-size:10px;font-weight:850;color:#70571e;text-transform:uppercase;letter-spacing:.07em}
.public-offer-hero-arrow-v89,.professional-gallery-arrow-v89{position:absolute;z-index:4;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(34,29,19,.24);border-radius:50%;background:rgba(255,255,255,.64);color:#28241b;font-size:27px;line-height:1;backdrop-filter:blur(8px)}
.public-offer-hero-arrow-v89.previous,.professional-gallery-arrow-v89.previous{left:clamp(12px,3vw,34px)}
.public-offer-hero-arrow-v89.next,.professional-gallery-arrow-v89.next{right:clamp(12px,3vw,34px)}
.public-offer-hero-dots-v89{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:6px}
.public-offer-hero-dots-v89 button{width:7px;height:7px;min-height:0;padding:0;border:0;border-radius:999px;background:rgba(34,29,19,.3);transition:width .25s ease,background .25s ease}
.public-offer-hero-dots-v89 button.active{width:25px;background:#5f4a19}

/* V89 professional public gallery slideshow. */
.professional-gallery-v89{position:relative;width:min(1180px,100%);margin:0 auto}
.professional-gallery-stage-v89{position:relative;height:clamp(300px,38vw,460px);overflow:hidden;border-radius:20px;background:#201f1b;box-shadow:0 22px 52px rgba(32,27,18,.18)}
.professional-gallery-slide-v89{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .75s ease,transform 1.1s ease,visibility .75s}
.professional-gallery-slide-v89.active{opacity:1;visibility:visible;transform:scale(1);z-index:1}
.professional-gallery-image-v89{width:100%;height:100%;min-height:100%;padding:0;border:0;background:#201f1b;cursor:zoom-in}
.professional-gallery-image-v89 img{width:100%;height:100%;object-fit:cover}
.professional-gallery-slide-v89 figcaption{position:absolute;z-index:2;inset:auto 0 0;display:grid;gap:3px;padding:70px clamp(20px,4vw,48px) 86px;color:#fff;pointer-events:none;background:linear-gradient(transparent,rgba(12,11,9,.88))}
.professional-gallery-slide-v89 figcaption span{font-size:9px;font-weight:850;letter-spacing:.13em}
.professional-gallery-slide-v89 figcaption strong{font-family:var(--ns-font-titles-family);font-size:clamp(20px,3vw,34px);font-weight:550}
.professional-gallery-arrow-v89{background:rgba(22,21,18,.58);border-color:rgba(255,255,255,.45);color:#fff}
.professional-gallery-thumbs-v89{position:absolute;z-index:6;left:clamp(14px,3vw,34px);right:clamp(14px,3vw,34px);bottom:12px;display:flex;gap:8px;margin:0;padding:4px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;border-radius:13px;background:rgba(17,16,13,.38);backdrop-filter:blur(10px)}
.professional-gallery-thumbs-v89::-webkit-scrollbar{display:none}
.professional-gallery-thumb-v89{flex:0 0 132px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:7px;padding:4px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(25,23,19,.64);color:#eee5d5;text-align:left;scroll-snap-align:center}
.professional-gallery-thumb-v89 img{width:44px;height:38px;border-radius:6px;object-fit:cover;filter:saturate(.72);transition:filter .25s ease}
.professional-gallery-thumb-v89 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800}
.professional-gallery-thumb-v89.active{border-color:#d4b35c;background:rgba(255,248,225,.94);color:#2d281f}
.professional-gallery-thumb-v89.active img{filter:saturate(1)}
@media(max-width:720px){.public-offer-ticker-label-v89{padding-inline:10px}.public-offer-hero-stage-v89{min-height:230px}.public-offer-hero-slide-v89{padding:30px 54px}.public-offer-hero-copy-v89 p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.public-offer-hero-arrow-v89,.professional-gallery-arrow-v89{width:35px;height:35px}.professional-gallery-stage-v89{height:clamp(240px,68vw,330px);border-radius:14px}.professional-gallery-slide-v89 figcaption{padding:55px 18px 76px}.professional-gallery-thumbs-v89{left:8px;right:8px;bottom:8px}.professional-gallery-thumb-v89{flex-basis:96px;grid-template-columns:36px minmax(0,1fr)}.professional-gallery-thumb-v89 img{width:36px;height:34px}.professional-gallery-thumb-v89 span{font-size:8px}}

/* V88 booking lists grouped into expandable days. */
.booking-day-groups-v88{display:grid;gap:10px;margin-top:14px}
.booking-day-group-v88{border:1px solid var(--line);border-radius:14px;background:#f9f7f2;overflow:hidden}
.booking-day-group-v88>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:10px 13px;cursor:pointer;list-style:none;background:#f5f0e5;user-select:none}
.booking-day-group-v88>summary::-webkit-details-marker{display:none}
.booking-day-group-v88>summary:hover{background:#f0e7d5}
.booking-day-group-title-v88{display:grid;gap:2px;min-width:0}
.booking-day-group-title-v88 strong{font-size:16px;color:var(--ink)}
.booking-day-group-title-v88 small{font-size:11px;color:var(--muted);font-weight:750}
.booking-day-group-toggle-v88{display:flex;align-items:center;gap:7px;flex:none;color:#765e25;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.booking-day-group-toggle-v88 b{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #d7c89f;border-radius:50%;font-size:16px;transition:transform .2s ease}
.booking-day-group-v88[open] .booking-day-group-toggle-v88 b{transform:rotate(180deg)}
.booking-day-group-v88 .collapse-label-v88,.booking-day-group-v88[open] .expand-label-v88{display:none}
.booking-day-group-v88[open] .collapse-label-v88{display:inline}
.booking-day-group-list-v88{padding:10px;background:#fff}
.booking-day-group-v88.past:not([open])>summary{background:#faf8f3}
@media(max-width:560px){.booking-day-group-v88>summary{min-height:52px;padding:9px 10px}.booking-day-group-toggle-v88>span{display:none!important}.booking-day-group-list-v88{padding:7px}.booking-day-group-title-v88 strong{font-size:14px}}

/* V92 separate kitchen hours and booking availability. */
.kitchen-hours-settings-v92{margin-top:18px;padding:18px;border:1px solid #d9cfbd;border-radius:16px;background:#fbf8f1}
.kitchen-hours-grid-v92{display:grid;gap:8px;margin:14px 0}
.kitchen-hours-row-v92{display:grid;grid-template-columns:minmax(100px,1fr) 110px minmax(145px,1fr) minmax(145px,1fr);align-items:end;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.kitchen-hours-row-v92>strong{align-self:center}
.kitchen-hours-row-v92>.permission-check{align-self:center;margin:0}
.kitchen-hours-row-v92 .field{margin:0}
.kitchen-hours-contact-v92{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.public-kitchen-hours-v92 strong{color:#74591c}
.footer-hours-heading-v92{margin:12px 0 5px;color:#c7a956;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:760px){.kitchen-hours-row-v92{grid-template-columns:1fr 1fr}.kitchen-hours-row-v92>strong{grid-column:1}.kitchen-hours-row-v92>.permission-check{grid-column:2}.kitchen-hours-settings-v92{padding:13px}}
@media(max-width:480px){.kitchen-hours-row-v92{grid-template-columns:1fr}.kitchen-hours-row-v92>strong,.kitchen-hours-row-v92>.permission-check{grid-column:auto}}

/* V93 broken Café and Dinner kitchen periods. */
.kitchen-hours-day-v93{background:#fffdf8}
.kitchen-period-v93{grid-template-columns:minmax(130px,1.1fr) minmax(130px,1fr) minmax(130px,1fr) auto}
.kitchen-period-v93>.btn{align-self:end;margin-bottom:1px}
.combined-hours-v93 strong{line-height:1.55}
.combined-hours-v93 strong br+br{display:none}
.quick-location-strip-v58>div:nth-child(2)>strong,.quick-location-hours-v60 strong,.location-today-v58 b,.selected-location-today-v58 strong,.hero-selected-location-v58 span,.hero-location-line-v60 span{white-space:pre-line}
@media(max-width:760px){.kitchen-period-v93{grid-template-columns:1fr 1fr}.kitchen-period-v93>.btn{grid-column:2;justify-self:end}}
@media(max-width:480px){.kitchen-period-v93{grid-template-columns:1fr}.kitchen-period-v93>.btn{grid-column:auto;justify-self:stretch}}

/* V94 reliable period save + public kitchen sub-lines. */
.public-hours-period-list-v94,.today-hours-period-list-v94{display:grid;gap:7px}
.public-hours-period-v94{display:grid;gap:1px;line-height:1.35}
.public-hours-period-v94 b{font-size:12px;font-weight:750;color:inherit}
.public-hours-period-v94 small{font-size:10px;font-weight:400;line-height:1.35;color:var(--muted);letter-spacing:0;text-transform:none}
.quick-location-hours-v60 .today-hours-period-list-v94{gap:5px}
.quick-location-hours-v60 .public-hours-period-v94 b{font-size:12px;color:inherit}
.quick-location-hours-v60 .public-hours-period-v94 small{font-size:10px;font-weight:400;color:var(--muted)}
.footer-branch-info .public-hours-period-v94 small{color:#bdb5a5}
@media(max-width:560px){.public-hours-period-v94 b{font-size:11px}.public-hours-period-v94 small{font-size:9px}}
