/* =================================================================
   GoAppetite — Design Foundation
   Brand: Navy + Teal/Green + Orange accent
   Mobile-first, responsive, RTL-ready (logical properties used
   where practical so app.rtl.css can stay minimal).
   ================================================================= */

:root {
  --ds-navy: #0b2545;
  --ds-navy-dark: #071a33;
  --ds-teal: #0f9b8e;
  --ds-green: #1fa678;
  --ds-orange: #f5821f;
  --ds-orange-light: #ff9d3d;
  --ds-bg: #f6f8fa;
  --ds-surface: #ffffff;
  --ds-text: #16253a;
  --ds-text-muted: #5b6b7f;
  --ds-border: #e2e8ef;
  --ds-danger: #d64545;
  --ds-success: #1fa678;
  --ds-radius: 10px;
  --ds-shadow: 0 2px 10px rgba(11, 37, 69, 0.08);
  --ds-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--ds-font);
  background: var(--ds-bg);
  color: var(--ds-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ds-teal); text-decoration: none; }
a:hover { text-decoration: underline; }

.container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

/* ---- Header ---- */
.ds-header {
  background: var(--ds-navy);
  color: #fff;
  padding: 12px 0;
}
.ds-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.ds-header .logo { display: flex; align-items: center; gap: 10px; }
.ds-header .logo img { height: 36px; width: auto; display: block; }
.ds-header nav { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.ds-header nav a { color: #dfe9f5; font-weight: 500; }
.ds-header nav a:hover { color: #fff; text-decoration: none; }

/* ---- Buttons ---- */
.btn {
  display: inline-block;
  padding: 10px 20px;
  border-radius: var(--ds-radius);
  border: none;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  text-align: center;
}
.btn-primary { background: var(--ds-teal); color: #fff; }
.btn-primary:hover { background: #0c8377; text-decoration: none; }
.btn-accent { background: var(--ds-orange); color: #fff; }
.btn-accent:hover { background: #dd7015; text-decoration: none; }
.btn-outline { background: transparent; border: 1.5px solid var(--ds-navy); color: var(--ds-navy); }
.btn-block { display: block; width: 100%; }

/* ---- Cards ---- */
.card {
  background: var(--ds-surface);
  border: 1px solid var(--ds-border);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
  padding: 20px;
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.restaurant-card h3 { margin: 0 0 4px; color: var(--ds-navy); }
.restaurant-card .meta { color: var(--ds-text-muted); font-size: 14px; }

/* ---- Forms ---- */
.form-group { margin-bottom: 16px; }
label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
input[type="text"], input[type="email"], input[type="password"], input[type="tel"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--ds-border);
  border-radius: 8px;
  font-size: 15px;
  background: #fff;
}
input:focus { outline: 2px solid var(--ds-teal); outline-offset: 1px; }
.auth-card { max-width: 420px; margin: 48px auto; }

/* ---- Alerts / Badges ---- */
.alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.alert-danger { background: #fdeaea; color: #8a2424; border: 1px solid #f3c2c2; }
.alert-success { background: #e8f7f1; color: #12664a; border: 1px solid #b9e6d3; }
.badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.badge-open { background: #e3f6ee; color: var(--ds-success); }
.badge-busy { background: #fff2e2; color: var(--ds-orange); }
.badge-closed { background: #f1f1f3; color: var(--ds-text-muted); }

/* ---- Hero ---- */
.hero { background: linear-gradient(135deg, var(--ds-navy), var(--ds-teal)); color: #fff; padding: 56px 0; }
.hero h1 { font-size: 32px; margin: 0 0 12px; }
.hero p { font-size: 17px; color: #e2effa; max-width: 560px; }
.tagline { color: var(--ds-green); font-weight: 600; }

/* ---- Footer ---- */
.ds-footer {
  margin-top: 48px;
  padding: 24px 0;
  border-top: 1px solid var(--ds-border);
  color: var(--ds-text-muted);
  font-size: 13px;
  text-align: center;
}
.ds-footer .footer-links {
  margin-top: 8px;
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.ds-footer .footer-links a {
  color: var(--ds-text-muted);
  text-decoration: underline;
}

/* ---- Tables ---- */
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--ds-border); font-size: 14px; }
th { color: var(--ds-text-muted); font-weight: 600; }

/* ---- Responsive ---- */
@media (max-width: 640px) {
  .hero h1 { font-size: 26px; }
  .ds-header .container { flex-direction: column; align-items: flex-start; }
}

/* ---- RTL support hook ----
   When app.default_locale/current locale = ar, layout adds dir="rtl"
   to <html>; this rule flips flex direction for the header nav. */
html[dir="rtl"] .ds-header .container { flex-direction: row-reverse; }
html[dir="rtl"] th, html[dir="rtl"] td { text-align: right; }

/* ---- Reports & Receipts (Prompt 06) ---- */
.report-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-top: 12px; }
.report-card { background: #fff; border: 1px solid var(--ds-border); border-radius: 10px; padding: 14px; }
.report-card .value { font-size: 22px; font-weight: 700; color: var(--ds-navy); }
.report-card .label { font-size: 12px; color: var(--ds-text-muted); margin-top: 4px; }
.report-nav { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.report-nav a { padding: 6px 12px; border-radius: 8px; background: #f3f6fa; color: var(--ds-navy); text-decoration: none; font-size: 13px; }
.report-nav a.active { background: var(--ds-navy); color: #fff; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll table { min-width: 600px; }
.receipt-box { max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid var(--ds-border); border-radius: 10px; padding: 24px; }
.receipt-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 14px; }
.receipt-total { font-weight: 700; font-size: 18px; border-top: 2px solid var(--ds-navy); padding-top: 8px; margin-top: 8px; }

/* ---- Print styles (section 26) — no special printer library,
   just standard CSS print media rules; hides navigation/filters/
   export controls and lets tables/receipts flow across pages. ---- */
@media print {
  .ds-header, .report-nav, .no-print, form, details > summary { display: none !important; }
  details { display: block !important; }
  body { background: #fff; color: #000; }
  .container { max-width: 100% !important; padding: 0 !important; }
  .card, .report-card, .receipt-box { border: 1px solid #999 !important; box-shadow: none !important; break-inside: avoid; }
  table { font-size: 11px; }
  a { color: #000 !important; text-decoration: none !important; }
}

/* ---- Responsive hardening (final browser audit) ---- */
img, svg, video, canvas { max-width: 100%; height: auto; }
button, input, select, textarea { max-width: 100%; }
.grid, .card-grid, .report-cards, [style*="display:grid"] > *, [style*="display: grid"] > * { min-width: 0; }
pre, code { overflow-wrap: anywhere; }

@media (max-width: 640px) {
  .container { padding-left: 12px; padding-right: 12px; }
  .ds-header .logo img { height: 32px; }
  .ds-header nav { width: 100%; gap: 8px 12px; }
  .ds-header nav a { font-size: 14px; }
  .hero { padding: 38px 0; }
  .hero h1 { font-size: 26px; line-height: 1.2; }
  .hero p { font-size: 15px; }
  .card { padding: 16px; }
  .receipt-row { gap: 12px; align-items: flex-start; }
  .receipt-row > * { min-width: 0; overflow-wrap: anywhere; }
  .table-scroll { width: 100%; max-width: 100%; }
  .table-scroll table { min-width: 560px; }
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"],
  [style*="grid-template-columns:1.4fr .7fr"],
  [style*="grid-template-columns:1.4fr .7fr .6fr"],
  [style*="grid-template-columns:1.4fr .7fr .6fr .7fr"],
  [style*="grid-template-columns:1.4fr .7fr .6fr .7fr .8fr"] {
    grid-template-columns: 1fr !important;
  }
  .btn { min-height: 42px; }
}


/* GoAppetite modern marketplace layer */
:root{--ga-ink:#122033;--ga-muted:#667085;--ga-line:#e7ebf0;--ga-surface:#fff;--ga-soft:#f7f9fc;--ga-primary:#0b7f73;--ga-accent:#ff7a1a;--ga-radius:18px;--ga-shadow:0 12px 36px rgba(16,24,40,.08)}
body{background:#f7f9fc;color:var(--ga-ink)}
.ds-header{position:sticky;top:0;z-index:50;background:rgba(11,37,69,.96);backdrop-filter:blur(12px);padding:10px 0;box-shadow:0 4px 18px rgba(7,26,51,.12)}
.ds-header .container{max-width:1240px}.ds-header .logo img{height:52px}.ds-header nav{gap:8px}.ds-header nav a{padding:9px 11px;border-radius:10px}.ds-header nav a:hover{background:rgba(255,255,255,.09)}
.ds-footer{margin-top:72px;background:#0b1930;color:#aeb9c8;border:0;text-align:left;padding:48px 0 26px}.ds-footer .container{max-width:1240px}.ds-footer a{color:#dbe4ef;text-decoration:none}.ds-footer .footer-links{justify-content:flex-start;gap:20px}.ds-footer .tagline{color:#5dd2b8}
.hero{padding:78px 0 88px;background:radial-gradient(circle at 85% 20%,rgba(255,122,26,.28),transparent 30%),linear-gradient(135deg,#071a33 0%,#0c4f57 55%,#0b7f73 100%)}.hero h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.04em;max-width:760px}.hero p{font-size:19px;max-width:680px}
.card{border-color:var(--ga-line);border-radius:var(--ga-radius);box-shadow:var(--ga-shadow)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.restaurant-card{transition:transform .18s ease,box-shadow .18s ease;overflow:hidden}.restaurant-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(16,24,40,.12);text-decoration:none}.restaurant-card h3{font-size:19px}.restaurant-card img{border-radius:14px!important;height:170px!important}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=search],select,textarea{border:1px solid #dfe5ec;border-radius:12px;padding:12px 14px;background:#fff;min-height:46px}select{appearance:auto}.soft-input{width:100%;margin:8px 0 14px}.preference-block{background:#f8fafc;border:1px solid var(--ga-line);border-radius:16px;padding:18px}.section-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--ga-primary);margin-bottom:6px}.form-title{font-size:20px}.choice-grid{display:flex;flex-wrap:wrap;gap:9px}.choice-chip{margin:0;cursor:pointer}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #dfe5ec;border-radius:999px;background:#fff;color:#344054;font-weight:600;transition:.15s}.choice-chip input:checked+span{background:#e7f7f3;border-color:#79cbbd;color:#075e55;box-shadow:0 0 0 2px rgba(15,155,142,.08)}
.onboarding-shell{max-width:920px;margin:34px auto}.onboarding-hero{padding:32px 4px 20px}.onboarding-hero h1{font-size:clamp(32px,5vw,48px);letter-spacing:-.03em;margin:0 0 10px}.onboarding-card{background:#fff;border:1px solid var(--ga-line);border-radius:24px;box-shadow:var(--ga-shadow);padding:28px}.step-pill{display:inline-block;margin:18px 0 14px;padding:7px 12px;border-radius:999px;background:#eef7f5;color:#08766c;font-size:12px;font-weight:800;letter-spacing:.06em}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.location-inline{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.map-box{height:330px;border-radius:18px;overflow:hidden;background:#e9eef3;margin:10px 0}.suggestion-list{display:grid;gap:6px;margin-bottom:10px}.suggestion-item{border:1px solid var(--ga-line);background:#fff;border-radius:10px;padding:11px 13px;text-align:left;cursor:pointer}.suggestion-item:hover{background:#f5faf9}.notice-card{background:#f8fafc;border:1px solid var(--ga-line);border-radius:14px;padding:14px;margin:12px 0}.check-row{display:flex;gap:9px;align-items:flex-start;margin:18px 0}.centered{text-align:center}
@media(max-width:700px){.ds-header .container{flex-direction:row;align-items:center}.ds-header .logo img{height:44px}.ds-header nav{width:auto;max-width:68vw;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.ds-header nav a{font-size:13px}.hero{padding:54px 0 60px}.hero h1{font-size:38px}.form-grid-2{grid-template-columns:1fr}.onboarding-card{padding:20px;border-radius:18px}.card-grid{grid-template-columns:1fr 1fr;gap:12px}.restaurant-card img{height:130px!important}}
@media(max-width:460px){.card-grid{grid-template-columns:1fr}.ds-header nav a{padding:7px 8px}.ds-header .logo img{height:40px}}

.discovery-shell{max-width:1240px;margin:38px auto}.discovery-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.discovery-head h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.035em;margin:0 0 6px}.location-pill{background:#fff;border:1px solid var(--ga-line);padding:11px 14px;border-radius:999px;color:var(--ga-ink);box-shadow:var(--ga-shadow);white-space:nowrap}.location-pill span{color:var(--ga-primary);font-weight:700;margin-left:7px}.discovery-tools{background:#fff;border:1px solid var(--ga-line);border-radius:20px;padding:14px;box-shadow:var(--ga-shadow)}.search-large{display:flex;align-items:center;gap:10px;background:#f7f9fc;border-radius:14px;padding:0 14px}.search-large span{font-size:24px;color:#667085}.search-large input{border:0!important;background:transparent!important;outline:0!important;font-size:16px;min-height:52px}.quick-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}.filter-chip{margin:0}.filter-chip input{position:absolute;opacity:0}.filter-chip span,.quick-chips select{display:inline-flex;align-items:center;min-height:40px;border:1px solid #dfe5ec;border-radius:999px;background:#fff;padding:8px 13px;font-weight:600;color:#344054}.filter-chip input:checked+span{background:#e7f7f3;border-color:#79cbbd;color:#075e55}.quick-chips select{appearance:auto}.cuisine-rail{display:flex;gap:14px;align-items:center;margin:22px 0;overflow:hidden}.cuisine-rail strong{white-space:nowrap}.cuisine-scroll{display:flex;gap:8px;overflow:auto;padding-bottom:3px}.cuisine-pill{white-space:nowrap;background:#fff;border:1px solid var(--ga-line);border-radius:999px;padding:9px 14px;color:#344054}.cuisine-pill.active{background:#0b7f73;color:#fff;border-color:#0b7f73}.location-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:linear-gradient(100deg,#e9f8f5,#fff4e9);border:1px solid #d9eee9;border-radius:20px;padding:18px 20px;margin:20px 0}.location-banner p{margin:3px 0 0;color:#667085}.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.modern-restaurant-card{background:#fff;border:1px solid var(--ga-line);border-radius:20px;overflow:hidden;color:var(--ga-ink);box-shadow:var(--ga-shadow);transition:.18s}.modern-restaurant-card:hover{transform:translateY(-4px);text-decoration:none;box-shadow:0 20px 44px rgba(16,24,40,.12)}.restaurant-media{height:210px;background:#edf2f4;position:relative}.restaurant-media img{width:100%;height:100%;object-fit:cover}.restaurant-placeholder{display:grid;place-items:center;height:100%;font-size:56px;background:linear-gradient(135deg,#dff3ef,#fff0e1)}.media-badges{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;gap:8px}.status-dot,.diet-badge{background:rgba(255,255,255,.95);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.status-dot.is-open{color:#08766c}.status-dot.is-closed{color:#667085}.diet-badge{color:#08766c}.restaurant-body{padding:16px}.restaurant-title{display:flex;justify-content:space-between;gap:10px}.restaurant-title h3{margin:0;font-size:19px}.rating{white-space:nowrap;background:#fff7e8;color:#9a5a00;border-radius:8px;padding:4px 7px;font-size:12px;font-weight:800}.restaurant-meta{display:flex;flex-wrap:wrap;gap:5px;color:#667085;font-size:13px;margin-top:10px}.delivery-ok{margin-top:10px;color:#08766c;font-size:13px;font-weight:700}.empty-discovery{text-align:center;background:#fff;border:1px solid var(--ga-line);border-radius:24px;padding:60px 20px;margin-top:24px}.empty-icon{font-size:44px}.empty-discovery h2{margin:8px 0}.empty-discovery p{color:#667085}@media(max-width:900px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.discovery-head{align-items:flex-start;flex-direction:column}.location-pill{width:100%;text-align:center}.restaurant-grid{grid-template-columns:1fr}.restaurant-media{height:200px}.location-banner{align-items:flex-start;flex-direction:column}.cuisine-rail{align-items:flex-start;flex-direction:column;gap:8px}.quick-chips>*{flex:1 1 auto}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v11 customer account and location polish */
.customer-account-shell{max-width:1240px;margin:36px auto}.ga-account-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#eef9f6,#fff7ed);border:1px solid var(--ga-line);border-radius:22px;padding:18px 20px;margin:18px 0 22px}.ga-account-hero>div:nth-child(2){flex:1}.ga-account-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--ga-primary);color:#fff;font-size:22px;font-weight:900}.customer-account-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.address-map{height:280px;border-radius:18px;overflow:hidden;border:1px solid var(--ga-line);margin:12px 0}.address-location-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.address-suggestions{display:grid;gap:6px;margin-top:8px}.address-suggestions button{background:#fff;border:1px solid var(--ga-line);border-radius:12px;padding:11px 13px;text-align:left;cursor:pointer}.address-suggestions button:hover{background:#f5faf9}@media(max-width:900px){.customer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.customer-account-grid{grid-template-columns:1fr}.ga-account-hero{align-items:flex-start;flex-wrap:wrap}.ga-account-hero .btn{width:100%}}

/* v13 modern navigation + discovery filter UX */
.ga-mobile-menu-toggle{display:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;width:44px;height:44px;padding:9px;cursor:pointer}.ga-mobile-menu-toggle span{display:block;height:2px;background:#fff;margin:5px 3px;border-radius:4px}.card-fav{position:absolute;right:12px;top:48px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#475467;font-size:20px;box-shadow:0 6px 18px rgba(16,24,40,.12)}.mobile-filter-trigger,.mobile-filter-head{display:none}
@media(max-width:760px){
 .ds-header{padding:8px 0}.ds-header .container{position:relative}.ga-mobile-menu-toggle{display:block;margin-left:auto}.ds-header nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);background:#0b2545;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px;box-shadow:0 20px 45px rgba(7,26,51,.28);max-width:none;flex-direction:column;align-items:stretch;overflow:visible;white-space:normal}.ds-header nav.is-open{display:flex}.ds-header nav a,.ds-header nav form{width:100%;display:block}.ds-header nav a{padding:12px 13px}.ds-header nav .btn{width:100%;margin-top:5px}.ds-header .logo img{height:50px;max-width:190px;object-fit:contain}.discovery-tools{padding:12px}.mobile-filter-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;border:1px solid var(--ga-line);background:#fff;border-radius:13px;padding:11px 13px;margin-top:10px;font-weight:800;color:#344054}.mobile-filter-trigger span{font-size:11px;color:#08766c}.discovery-filter-drawer{display:none}.discovery-filter-drawer.is-open{display:grid;position:fixed;z-index:100;left:12px;right:12px;bottom:12px;margin:0;padding:18px;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.28);border:1px solid var(--ga-line)}.mobile-filter-head{display:flex;align-items:center;justify-content:space-between;grid-column:1/-1;margin-bottom:4px}.mobile-filter-head button{border:0;background:#f2f4f7;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.quick-chips select,.filter-chip span{width:100%;justify-content:center}.discovery-filter-drawer .btn{width:100%}
}
@media(min-width:761px){.discovery-filter-drawer{display:flex}.mobile-filter-trigger{display:none}}

/* v14 — unified dashboard experience
   Gives customer, provider and Super Admin dashboards the same modern
   marketplace design language and prevents utility classes from falling
   back to unstyled HTML on narrow screens. */
.ga-page{max-width:1240px;margin:36px auto;padding:0 16px}.ga-dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.ga-dashboard-head h1{margin:4px 0 6px;font-size:clamp(28px,4vw,42px);letter-spacing:-.035em;color:var(--ga-ink)}.ga-eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--ga-primary)}.ga-dashboard-head .meta{margin:0;color:var(--ga-muted)}.ga-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.ga-stat{background:linear-gradient(145deg,#fff,#f8fbfc);border:1px solid var(--ga-line);border-radius:18px;padding:18px;box-shadow:var(--ga-shadow);min-width:0}.ga-stat .num{font-size:26px;font-weight:900;letter-spacing:-.02em;color:var(--ga-ink);overflow-wrap:anywhere}.ga-stat .label{margin-top:4px;color:var(--ga-muted);font-size:13px}.ga-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ga-dashboard-tile{display:block;background:#fff;border:1px solid var(--ga-line);border-radius:20px;padding:19px;color:var(--ga-ink);box-shadow:var(--ga-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ga-dashboard-tile:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(16,24,40,.11);border-color:#cfe5e0;text-decoration:none}.ga-dashboard-tile .icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eef8f6;font-size:22px;margin-bottom:12px}.ga-dashboard-tile h3{margin:0 0 5px;font-size:17px}.ga-dashboard-tile p{margin:0;color:var(--ga-muted);font-size:13px;line-height:1.55}.ga-page .empty-discovery{margin-top:0}.ga-page .alert{border-radius:16px}.customer-account-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.ga-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ga-page{margin:24px auto;padding:0 12px}.ga-dashboard-head{align-items:flex-start;flex-direction:column}.ga-dashboard-head .btn{width:100%}.ga-stat-grid,.ga-dashboard-grid,.customer-account-grid{grid-template-columns:1fr}.ga-stat{padding:15px}.ga-dashboard-tile{padding:17px}.ga-account-hero{padding:16px}.ga-account-hero .btn{width:100%}}


/* v15 — accessibility, keyboard, touch and reduced-motion polish */
.ga-skip-link{position:fixed;left:12px;top:-60px;z-index:10000;background:#fff;color:var(--ds-navy);border:2px solid var(--ds-teal);border-radius:10px;padding:10px 14px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.ga-skip-link:focus{top:12px;text-decoration:none}
main:focus{outline:none}
:focus-visible{outline:3px solid rgba(15,155,142,.55);outline-offset:2px}
button,.btn,a,input,select,textarea{touch-action:manipulation}
select,textarea,input[type=number],input[type=date],input[type=time],input[type=datetime-local]{width:100%;padding:10px 12px;border:1px solid var(--ds-border);border-radius:8px;font-size:15px;background:#fff;color:var(--ds-text)}
textarea{min-height:110px;resize:vertical}
button,.btn{min-height:42px}
.ds-header .logo img{height:46px;max-width:210px;object-fit:contain}
@media(max-width:760px){.ds-header .logo img{height:50px;max-width:200px}.ds-header .container{min-height:58px}.ga-mobile-menu-toggle{flex:0 0 44px}.ds-header nav{max-height:calc(100vh - 90px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.modern-restaurant-card:hover,.ga-dashboard-tile:hover{transform:none}}

.ga-ai-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 16px}.ga-ai-result{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid var(--ga-line);border-radius:15px;background:#fff;color:var(--ga-ink);text-decoration:none;box-shadow:0 8px 24px rgba(16,24,40,.06)}.ga-ai-result:hover{border-color:#b9ded7;transform:translateY(-1px)}.ga-ai-result strong{font-size:14px}.ga-ai-result span{font-size:12px;color:var(--ga-muted);line-height:1.4}.ga-ai-deal{background:linear-gradient(145deg,#fffaf1,#fff)}@media(max-width:640px){.ga-ai-results{grid-template-columns:1fr}}

/* v20 — checkout conversion, clarity and mobile safety */
.ga-checkout-shell{max-width:860px;margin:34px auto;padding:0 16px}.ga-checkout-head{margin-bottom:20px}.ga-checkout-head h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.035em;margin:4px 0 6px}.ga-checkout-card{margin-bottom:16px;padding:20px}.ga-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.ga-section-title h2{margin:2px 0 0;font-size:20px;letter-spacing:-.02em}.ga-choice-card{flex:1;border:1.5px solid var(--ga-line);border-radius:16px;padding:16px;text-align:center;cursor:pointer;background:#fff;transition:.15s;min-width:0}.ga-choice-card:hover{border-color:#9bd4ca}.ga-choice-card.is-selected{border-color:var(--ga-primary);background:#eef9f6;box-shadow:0 0 0 3px rgba(11,127,115,.08)}.ga-choice-card input{position:absolute;opacity:0}.ga-checkout-select{width:100%;min-height:50px}.ga-secure-pill{display:inline-flex;align-items:center;border-radius:999px;background:#eaf8f4;color:#08766c;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.ga-small-btn{font-size:13px;padding:9px 12px}.ga-payment-option{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:12px;border:1px solid var(--ga-line);border-radius:14px;padding:14px;margin:8px 0;background:#fff;cursor:pointer;min-width:0}.ga-payment-option.is-selected{border-color:#79cbbd;background:#f0faf7}.ga-payment-option.is-disabled{cursor:not-allowed;background:#f7f8fa}.ga-payment-option input{margin:3px 0 0;accent-color:var(--ga-primary);width:18px;height:18px}.ga-payment-option-copy{min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.ga-payment-option-copy strong{display:block;font-size:16px;line-height:1.3;white-space:normal;overflow-wrap:normal;word-break:normal}.ga-payment-option-copy .meta{display:block;line-height:1.45;white-space:normal}.ga-total-card{background:linear-gradient(145deg,#fff,#f5fbf9)}.ga-checkout-note{font-size:12px;color:var(--ga-muted);text-align:center;margin:10px 0 0}.ga-place-order{min-height:52px;font-size:16px;font-weight:800}.ga-place-order:disabled{opacity:.65;cursor:not-allowed}.ga-schedule-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ga-schedule-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:112px}.ga-schedule-choice input{position:absolute;opacity:0;pointer-events:none}.ga-schedule-icon{font-size:24px;line-height:1}.ga-asap-estimate{margin-top:12px;border:1px solid #cfe8df;background:#f2fbf7;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.ga-asap-estimate-label{font-size:12px;font-weight:800;color:#08766c;text-transform:uppercase;letter-spacing:.05em}.ga-asap-estimate strong{font-size:20px;color:#172033}.ga-schedule-fields{margin-top:12px;border:1px solid var(--ga-line);background:#fbfcfd;border-radius:14px;padding:14px}.ga-schedule-field-group+.ga-schedule-field-group{margin-top:12px}.ga-schedule-field-label{font-weight:750;font-size:13px;margin-bottom:7px}.ga-time-selects{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:8px}.ga-time-selects select{width:100%;min-height:48px;font-size:16px}.ga-schedule-help{margin:10px 0 0}.ga-checkout-card{scroll-margin-top:12px}@media(max-width:640px){.ga-checkout-shell{margin:22px auto;padding:0 12px}.ga-checkout-card{padding:16px}.ga-schedule-choice-grid{grid-template-columns:1fr 1fr}.ga-time-selects{grid-template-columns:1fr 1fr 1.1fr}.ga-section-title{align-items:flex-start}.ga-small-btn{width:auto}.ga-choice-card{padding:13px 8px}.ga-choice-card .meta{font-size:12px}.ga-checkout-head h1{font-size:32px}}

/* v21 final polish: location actions, footer hierarchy and mobile usability */
.ds-footer{border-top:1px solid rgba(255,255,255,.08);padding:56px 0 22px;}
.ds-footer .footer-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,1fr));gap:32px;align-items:start;text-align:left}
.ds-footer .footer-grid>div:first-child{padding-right:20px}
.ds-footer .footer-brand{font-size:24px;font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:8px}
.ds-footer .footer-grid p{margin:7px 0;color:#aeb9c8;line-height:1.65}
.ds-footer .footer-grid h4{margin:2px 0 12px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.ds-footer .footer-grid a{display:block;padding:6px 0;color:#cbd5e1;transition:color .15s ease,transform .15s ease}
.ds-footer .footer-grid a:hover,.ds-footer .footer-grid a:focus-visible{color:#fff;transform:translateX(2px)}
.ds-footer .footer-bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8f9caf;font-size:12px}
.ds-footer .footer-bottom a{display:inline;color:#b8c3d1}
.location-banner{border:1px solid #dce7ee;border-radius:18px;background:linear-gradient(135deg,#fff,#f5fbfa);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 8px 24px rgba(16,24,40,.05)}
.location-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #dbe4ec;border-radius:999px;background:#fff;text-decoration:none;font-weight:700}
.location-pill span{font-size:12px;color:var(--ga-primary);font-weight:700}
#use-gps[aria-busy="true"],#address-use-location[aria-busy="true"]{cursor:wait;opacity:.8}
@media(max-width:760px){.ds-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.ds-footer .footer-grid>div:first-child{grid-column:1/-1;padding-right:0}.ds-footer .footer-bottom{margin-top:26px}.location-banner{align-items:flex-start;flex-direction:column}.location-banner .btn{width:100%}}
@media(max-width:480px){.ds-footer{padding-top:40px}.ds-footer .footer-grid{grid-template-columns:1fr}.ds-footer .footer-grid>div:first-child{grid-column:auto}.ds-footer .footer-bottom{flex-direction:column;gap:8px}.location-pill{width:100%;justify-content:center}}

/* v25 — public experience redesign: modern marketplace UI, responsive navigation,
   location picker and premium footer. Kept scoped so existing authenticated
   dashboard components remain functionally unchanged. */
:root{--ga-bg:#f6f8fb;--ga-ink:#172033;--ga-muted:#687386;--ga-line:#e5e9ef;--ga-primary:#0b8f82;--ga-primary-dark:#076e65;--ga-accent:#ff6b2c;--ga-navy:#0b1830;--ga-card:#fff;--ga-shadow:0 16px 45px rgba(20,34,55,.08)}
html{scroll-behavior:smooth}body{background:var(--ga-bg);color:var(--ga-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.container{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.ds-header{background:rgba(7,24,48,.94);border-bottom:1px solid rgba(255,255,255,.08);padding:12px 0;box-shadow:0 8px 28px rgba(7,24,48,.12)}.ds-header .container{min-height:68px;display:flex;align-items:center;gap:26px}.ds-header .logo{display:flex;align-items:center;flex:0 0 auto}.ds-header .logo img,.ds-header .ga-brand-logo{height:64px!important;width:auto;max-width:230px;object-fit:contain;display:block;filter:drop-shadow(0 5px 12px rgba(0,0,0,.18))}.ds-header nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:1;min-width:0}.ds-header nav>a,.ga-auth-link{font-size:14px;font-weight:700;color:#f8fafc!important;padding:11px 13px;border-radius:12px;white-space:nowrap}.ds-header nav>a:hover,.ga-auth-link:hover{background:rgba(255,255,255,.1);text-decoration:none}.ga-auth-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.ga-auth-provider{color:#8de7d9!important}
.ga-hero{position:relative;overflow:hidden;padding:82px 0 74px;background:radial-gradient(circle at 88% 8%,rgba(255,107,44,.28),transparent 26%),radial-gradient(circle at 68% 75%,rgba(37,211,194,.20),transparent 25%),linear-gradient(135deg,#071a33 0%,#0a344d 48%,#087d73 100%);color:#fff}.ga-hero:after{content:"";position:absolute;inset:auto -8% -65% 35%;height:460px;background:rgba(255,255,255,.06);border-radius:50%;transform:rotate(-8deg)}.ga-hero .container{position:relative;z-index:1}.ga-hero .ga-eyebrow{color:#8de7d9!important;font-size:12px;letter-spacing:.18em}.ga-hero h1{max-width:820px;margin:10px 0 14px;font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.055em;color:#fff}.ga-hero p{max-width:690px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.78);margin:0 0 28px}.ga-search{display:flex;max-width:760px;gap:10px;padding:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);border-radius:18px}.ga-search input{flex:1;min-width:0;border:0!important;background:#fff!important;border-radius:13px!important;min-height:54px!important;padding:0 17px!important;font-size:15px}.ga-search .btn{min-height:54px;border-radius:13px;padding:0 23px}.ga-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.ga-hero-actions .btn{min-height:46px;border-radius:13px;font-weight:800}.ga-hero-actions .btn-primary,.ga-hero-actions .btn-accent{background:var(--ga-accent);border-color:var(--ga-accent);color:#fff}.ga-hero-actions .btn-ghost,.ga-hero-actions .btn-outline{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.35);color:#fff}.ga-hero-actions .btn:hover{transform:translateY(-1px)}
.ga-page{max-width:1240px;margin:0 auto;padding:44px 20px}.ga-section{padding-top:10px}.ga-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.ga-section-head h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.035em;margin:4px 0 0}.ga-section-head>a{font-weight:800;color:var(--ga-primary);white-space:nowrap}.ga-cuisine-section{padding-top:34px}.ga-cuisine-rail{display:flex;gap:10px;overflow:auto;padding:4px 2px 10px;scrollbar-width:none}.ga-cuisine-rail::-webkit-scrollbar{display:none}.ga-cuisine-chip{flex:0 0 auto!important;white-space:nowrap!important;border:1px solid var(--ga-line)!important;background:#fff!important;color:#334155!important;border-radius:999px!important;padding:10px 15px!important;font-weight:750!important;box-shadow:0 5px 18px rgba(20,34,55,.04)}.ga-cuisine-chip:hover{border-color:#8bd8cf!important;color:var(--ga-primary-dark)!important;transform:translateY(-1px);text-decoration:none}
.ga-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.ga-card{background:#fff;border:1px solid var(--ga-line);border-radius:20px;box-shadow:0 10px 30px rgba(20,34,55,.06);overflow:hidden}.ga-card-link{display:block;color:var(--ga-ink);transition:transform .2s ease,box-shadow .2s ease}.ga-card-link:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(20,34,55,.12);text-decoration:none}.ga-home-restaurant .media{height:190px;position:relative;background:linear-gradient(135deg,#e5f5f2,#fff0e5);overflow:hidden}.ga-home-restaurant .media img{width:100%;height:100%;object-fit:cover}.ga-home-restaurant .body{padding:16px}.ga-home-restaurant h3{font-size:17px;line-height:1.25;margin:0}.ga-home-restaurant .sub{color:var(--ga-muted);font-size:13px;line-height:1.5}.ga-float-badge{position:absolute;left:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);font-size:11px;font-weight:850;color:var(--ga-primary-dark)}.ga-rating{white-space:nowrap;background:#fff7e8;color:#9a5a00;border-radius:8px;padding:4px 7px;font-size:11px;font-weight:850}.empty-discovery{background:linear-gradient(145deg,#fff,#f6fbfa)!important;border:1px solid #dcece8!important;border-radius:26px!important;padding:68px 24px!important;box-shadow:var(--ga-shadow)}
/* Public location picker */
.ga-location-page{max-width:1040px;padding-top:48px}.ga-location-hero{max-width:760px;margin-bottom:24px}.ga-location-hero h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.05em;margin:5px 0 10px}.ga-location-hero p{font-size:17px;line-height:1.65}.ga-location-card,.ga-location-manual{padding:28px!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important}.ga-location-card{box-shadow:0 18px 55px rgba(20,34,55,.09)!important}.ga-location-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.ga-location-card-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.03em}.ga-location-badge{background:#e8f7f4;color:#08766c;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;letter-spacing:.08em}.ga-location-searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.ga-location-searchbar input{min-height:50px}.ga-location-searchbar .btn{min-height:50px}.ga-location-results{display:grid;gap:7px;margin-top:9px}.ga-location-result{width:100%;border:1px solid var(--ga-line);background:#fff;border-radius:14px;padding:12px 14px;text-align:left;color:#26364b;font-weight:650;cursor:pointer;transition:.16s;box-shadow:0 4px 12px rgba(20,34,55,.03)}.ga-location-result:hover,.ga-location-result:focus{border-color:#7bcfc4;background:#f4fbf9;transform:translateY(-1px)}.ga-location-map{height:430px;border-radius:20px;overflow:hidden;margin-top:14px;background:linear-gradient(135deg,#dce7ed,#edf4f3);border:1px solid var(--ga-line);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.ga-location-map:after{content:"";display:block;position:absolute}.ga-location-manual{margin-top:18px}.ga-location-manual .form-group{margin-bottom:14px}
/* AI concierge */
.ga-concierge{max-width:1120px;margin:0 auto;padding:48px 20px 20px}.ga-concierge-hero{padding:38px 40px;border-radius:30px;background:radial-gradient(circle at 90% 15%,rgba(255,107,44,.25),transparent 30%),linear-gradient(135deg,#081a33,#0a5f62);color:#fff;box-shadow:0 22px 60px rgba(7,25,48,.18)}.ga-concierge-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-.05em;margin:8px 0 12px}.ga-concierge-hero p{max-width:720px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.65}.ga-prompt-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.ga-prompt{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);color:#fff;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.ga-prompt:hover{background:rgba(255,255,255,.16)}.ga-chat{margin:-20px 24px 0;padding:24px;background:#fff;border:1px solid var(--ga-line);border-radius:24px;box-shadow:0 18px 55px rgba(20,34,55,.10);position:relative}.ga-message{max-width:78%;padding:13px 15px;border-radius:16px;margin-bottom:9px;line-height:1.55}.ga-message.bot{background:#f0f7f6;color:#233443}.ga-message.user{background:#0b8f82;color:#fff;margin-left:auto}.ga-chat textarea{min-height:100px;border-radius:16px}.ga-chat form{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}.ga-chat form textarea{grid-column:1/-1}.ga-ai-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 14px}.ga-ai-result{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid var(--ga-line);border-radius:14px;background:#fff;color:var(--ga-ink);text-decoration:none}.ga-ai-result span{font-size:12px;color:var(--ga-muted)}.ga-ai-result:hover{border-color:#8bd8cf;background:#f7fcfb}
/* Footer — premium marketplace footer, not legacy link strip */
.ds-footer{margin-top:72px;background:linear-gradient(145deg,#07162b,#0b213b);color:#b9c5d4;border:0;text-align:left;padding:56px 0 22px}.ds-footer .container{max-width:1240px}.ds-footer .footer-grid{display:grid;grid-template-columns:1.55fr repeat(3,1fr);gap:38px}.ds-footer .footer-brand{font-size:28px;font-weight:900;color:#fff;letter-spacing:-.04em}.ds-footer .footer-grid h4{font-size:11px;letter-spacing:.14em;color:#8de7d9;margin-bottom:13px}.ds-footer .footer-grid a{padding:6px 0;color:#cbd6e4;transition:.15s}.ds-footer .footer-grid a:hover{color:#fff;transform:none}.ds-footer .footer-grid p{color:#98a9bc;line-height:1.7}.ds-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.10);margin-top:34px;padding-top:18px;color:#8393a7}.ds-footer .footer-bottom a{color:#c3cfdd}.ga-skip-link{background:#fff;color:#07162b}
@media(max-width:980px){.ga-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-header .ga-brand-logo{height:60px!important}.ds-header nav>a,.ga-auth-link{font-size:13px;padding:9px}.ga-location-searchbar{grid-template-columns:1fr auto}.ga-location-searchbar .js-use-location{grid-column:1/-1;justify-self:start}.ds-footer .footer-grid{grid-template-columns:1.3fr repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(100% - 24px,1240px)}.ds-header{padding:8px 0}.ds-header .container{min-height:62px}.ds-header .ga-brand-logo{height:56px!important;max-width:190px}.ga-mobile-menu-toggle{display:block;margin-left:auto}.ds-header nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);background:#091d36;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:10px;box-shadow:0 22px 55px rgba(0,0,0,.25);flex-direction:column;align-items:stretch;max-height:calc(100vh - 84px);overflow:auto}.ds-header nav.is-open{display:flex}.ds-header nav>a,.ga-auth-links,.ga-auth-link{width:100%}.ga-auth-links{display:grid;grid-template-columns:1fr}.ga-hero{padding:56px 0 50px}.ga-hero h1{font-size:42px}.ga-search{display:grid;background:transparent;border:0;padding:0}.ga-search input,.ga-search .btn{width:100%}.ga-hero-actions{display:grid;grid-template-columns:1fr}.ga-hero-actions .btn{width:100%}.ga-page{padding:34px 12px}.ga-home-grid{grid-template-columns:1fr 1fr;gap:12px}.ga-home-restaurant .media{height:150px}.ga-section-head{align-items:flex-start}.ga-location-page{padding-top:30px}.ga-location-card,.ga-location-manual{padding:20px!important}.ga-location-searchbar{grid-template-columns:1fr}.ga-location-searchbar .btn{width:100%}.ga-location-map{height:340px}.ga-concierge{padding:28px 12px}.ga-concierge-hero{padding:28px 22px;border-radius:24px}.ga-chat{margin:-12px 8px 0;padding:18px}.ga-chat form{grid-template-columns:1fr auto}.ga-chat form .btn-accent{grid-column:1}.ga-ai-results{grid-template-columns:1fr}.ds-footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.ds-footer .footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.ds-header .ga-brand-logo{height:52px!important;max-width:175px}.ga-home-grid{grid-template-columns:1fr}.ga-home-restaurant .media{height:190px}.ga-section-head h2{font-size:26px}.ga-concierge-hero h1{font-size:38px}.ga-message{max-width:90%}.ds-footer .footer-grid{grid-template-columns:1fr}.ds-footer .footer-grid>div:first-child{grid-column:auto}}

/* v26 — unified 2026 application surface */
html { scroll-behavior: smooth; }
body { background: #f5f7fa; }
.ds-header { min-height: 72px; }
.ds-header .logo { min-width: 210px; }
.ds-header .ga-brand-logo { width: 220px !important; height: 56px !important; max-width: 220px !important; object-fit: contain; object-position: left center; }
.ds-header nav { align-items: center; }
.ds-header nav a, .ga-auth-link { transition: background .16s ease, color .16s ease, transform .16s ease; }
.ga-auth-links { display:flex; align-items:center; gap:8px; }
.ga-auth-link { border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:10px 14px !important; }
.ga-auth-link:hover { background:rgba(255,255,255,.10); }
.ga-auth-provider { background:rgba(255,122,26,.16); border-color:rgba(255,122,26,.45); }

/* Modern form system for dashboards and inner pages */
.ga-page.admin-page { max-width: 1240px; }
.ga-page h1, .ga-page h2, .ga-page h3 { color: var(--ga-ink); letter-spacing: -.025em; }
.ga-page > form, .admin-page > form { background:#fff; border:1px solid var(--ga-line); border-radius:18px; padding:14px; box-shadow:var(--ga-shadow); }
.ga-page input[type=text], .ga-page input[type=email], .ga-page input[type=password], .ga-page input[type=tel],
.ga-page input[type=number], .ga-page input[type=date], .ga-page input[type=time], .ga-page input[type=url],
.ga-page input[type=search], .ga-page select, .ga-page textarea,
.admin-page input[type=text], .admin-page input[type=email], .admin-page input[type=password], .admin-page input[type=tel],
.admin-page input[type=number], .admin-page input[type=date], .admin-page input[type=time], .admin-page input[type=url],
.admin-page input[type=search], .admin-page select, .admin-page textarea {
  width:100%; min-height:46px; padding:11px 13px; border:1px solid #dfe5ec; border-radius:12px; background:#fff; color:var(--ga-ink); font:inherit; transition:border-color .15s, box-shadow .15s;
}
.ga-page input:focus, .ga-page select:focus, .ga-page textarea:focus, .admin-page input:focus, .admin-page select:focus, .admin-page textarea:focus { outline:none; border-color:#74c9bd; box-shadow:0 0 0 4px rgba(15,155,142,.10); }
.ga-page table, .admin-page table { background:#fff; border:1px solid var(--ga-line); border-radius:16px; overflow:hidden; }
.ga-page th, .admin-page th { background:#f8fafc; color:#475467; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.ga-page td, .admin-page td { padding:13px 14px; }
.ga-page tr:last-child td, .admin-page tr:last-child td { border-bottom:0; }
.ga-page .card, .admin-page .card { border-radius:20px; box-shadow:var(--ga-shadow); }
.ga-page .btn, .admin-page .btn { border-radius:12px; }
.ga-page .meta, .admin-page .meta { color:var(--ga-muted); }
.ga-page .alert, .admin-page .alert { border-radius:14px; }
.report-card { border-radius:18px; box-shadow:var(--ga-shadow); }
.report-nav a { border-radius:999px; padding:8px 13px; }

/* Dashboard pages: clearer hierarchy without requiring a separate framework. */
.ga-dashboard-grid { align-items:stretch; }
.ga-dashboard-tile { min-height:172px; display:flex; flex-direction:column; justify-content:flex-start; }
.ga-dashboard-tile .icon { flex:0 0 auto; }
.ga-dashboard-tile h3 { line-height:1.25; }
.ga-stat { min-height:108px; }
.ga-stat .num { line-height:1.1; }

/* Public discovery — chips never collapse into an unreadable text run. */
.ga-cuisine-rail { overflow-x:auto; scrollbar-width:none; }
.ga-cuisine-rail::-webkit-scrollbar { display:none; }
.ga-cuisine-chip { flex:0 0 auto; }
.ga-home-grid { align-items:stretch; }
.ga-card-link { display:block; height:100%; }

/* Location suggestions are first-class controls, not plain text. */
.ga-location-results { display:grid; gap:8px; margin:10px 0; max-height:300px; overflow:auto; }
.ga-location-result { width:100%; text-align:left; padding:13px 15px; border:1px solid #e2e8ef; border-radius:13px; background:#fff; color:#122033; cursor:pointer; font:inherit; box-shadow:0 4px 14px rgba(16,24,40,.05); }
.ga-location-result:hover, .ga-location-result:focus-visible { border-color:#79cbbd; background:#f5faf9; outline:none; }
.ga-location-map { min-height:340px; border-radius:18px; border:1px solid #dfe5ec; background:linear-gradient(135deg,#e9f4f2,#f5f7fa); box-shadow:inset 0 0 0 1px rgba(255,255,255,.5); }

/* Footer: premium marketplace treatment with real visual hierarchy. */
.ds-footer { position:relative; overflow:hidden; }
.ds-footer:before { content:""; position:absolute; width:420px; height:420px; right:-180px; top:-220px; border-radius:50%; background:rgba(15,155,142,.10); pointer-events:none; }
.ds-footer .container { position:relative; z-index:1; }
.ds-footer .footer-brand { font-size:30px; }
.ds-footer .footer-grid a { font-size:14px; }

@media(max-width:760px){
  .ds-header { min-height:66px; }
  .ds-header .logo { min-width:0; }
  .ds-header .ga-brand-logo { width:190px !important; height:48px !important; max-width:190px !important; }
  .ga-auth-links { gap:6px; }
  .ga-dashboard-tile { min-height:0; }
}
@media(max-width:480px){
  .ds-header .ga-brand-logo { width:175px !important; height:44px !important; max-width:175px !important; }
  .ga-page.admin-page { padding-left:12px; padding-right:12px; }
}

/* v27 marketplace search autocomplete */
.ga-search-input-wrap{position:relative;flex:1;min-width:0}.ga-search-input-wrap>input{width:100%}.ga-search-suggestions{display:none;position:absolute;z-index:80;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--ga-line);border-radius:16px;box-shadow:0 20px 50px rgba(7,26,51,.22);overflow:hidden;padding:6px}.ga-search-suggestions.is-open{display:block}.ga-search-suggestion{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:#fff;border:0;border-radius:11px;padding:11px 12px;color:var(--ga-ink);cursor:pointer}.ga-search-suggestion:hover,.ga-search-suggestion:focus{background:#f4faf9;outline:none}.ga-search-suggestion-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef8f6;flex:0 0 auto}.ga-search-suggestion strong{display:block;font-size:14px;line-height:1.25}.ga-search-suggestion small{display:block;color:var(--ga-muted);font-size:12px;margin-top:2px}.ga-search-suggestions .ga-search-suggestion+ .ga-search-suggestion{margin-top:2px}
@media(max-width:760px){.ga-search-suggestions{position:fixed;left:12px;right:12px;top:calc(var(--ga-search-overlay-top, 140px));max-height:55vh;overflow:auto}.ga-search-input-wrap{width:100%}}

/* v28 market selector */
.ga-market-switcher{position:relative;display:inline-block;color:#fff;margin-left:2px}
.ga-market-switcher>summary{list-style:none;cursor:pointer;padding:9px 11px;border-radius:10px;color:#dfe9f5;font-weight:600;font-size:13px;white-space:nowrap}
.ga-market-switcher>summary::-webkit-details-marker{display:none}
.ga-market-switcher>summary:hover{background:rgba(255,255,255,.09);color:#fff}
.ga-market-form{position:absolute;right:0;top:calc(100% + 10px);width:300px;background:#fff;color:#182230;border:1px solid #e5e9ef;border-radius:18px;padding:16px;box-shadow:0 18px 45px rgba(7,26,51,.22);z-index:100;display:grid;gap:12px}
.ga-market-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#465264}
.ga-market-form select{width:100%;padding:10px 12px;border:1px solid #d9dee7;border-radius:10px;background:#fff;color:#182230;font:inherit}
.ga-market-currency{padding:10px 12px;border-radius:10px;background:#f5f8fb;color:#566274;font-size:13px}
.ga-market-form .btn{width:100%}
@media(max-width:700px){.ga-market-switcher{display:block;width:100%}.ga-market-switcher>summary{font-size:14px}.ga-market-form{position:fixed;left:12px;right:12px;top:72px;width:auto;max-width:none}.ds-header nav.is-open{overflow:visible}}

/* v29 — Homepage implementation matching the approved marketplace mockup */
.ga-mock-home{background:#fff;color:#121b2a;min-height:100vh}.ga-mock-home .container{max-width:1240px}.ga-site-header{position:relative;z-index:120}.ga-topbar{height:40px;background:#071321;color:#f7f9fb;font-size:12px}.ga-topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.ga-market-mini,.ga-top-links{display:flex;align-items:center;gap:10px}.ga-top-links{gap:24px}.ga-top-links a{color:#f7f9fb}.ga-top-links a:hover{text-decoration:none;color:#ff8b3d}.ga-top-icon{font-size:18px;border-left:1px solid rgba(255,255,255,.14);padding-left:18px}.ga-mainbar{height:76px;background:#fff;border-bottom:1px solid #e9edf2;box-shadow:0 2px 12px rgba(16,24,40,.05)}.ga-mainbar-inner{height:100%;display:flex;align-items:center;gap:34px}.ga-main-logo{display:flex;flex-direction:column;min-width:210px;text-decoration:none!important}.ga-main-logo img{width:190px;height:auto;display:block}.ga-main-logo small{font-size:9px;letter-spacing:.02em;color:#667085;margin-top:1px}.ga-main-nav{display:flex;align-items:stretch;gap:8px;height:100%;flex:1}.ga-main-nav>a{display:flex;align-items:center;padding:0 14px;color:#172033;font-size:14px;font-weight:750;position:relative}.ga-main-nav>a:hover,.ga-main-nav>a.active{text-decoration:none;color:#ff6b00}.ga-main-nav>a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px;background:#ff6b00}.ga-main-actions{display:flex;align-items:center}.ga-account-link{display:flex;align-items:center;gap:9px;color:#172033;text-decoration:none;font-size:12px;white-space:nowrap}.ga-account-link b,.ga-account-link small{display:block}.ga-account-link small{color:#667085;margin-top:2px}.ga-avatar{width:38px;height:38px;border:1px solid #dfe5ec;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#98a2b3;background:#f8fafc}.ga-market-hero{position:relative;min-height:305px;background:#101419;color:#fff;overflow:visible}.ga-market-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,15,.94) 0%,rgba(9,12,15,.72) 42%,rgba(9,12,15,.45) 100%),url('../img/goappetite-header.jpg') center/cover;filter:saturate(.9)}.ga-market-hero-inner{position:relative;min-height:305px;padding:30px 20px 24px;display:grid;grid-template-columns:minmax(0,1fr) 265px;grid-template-rows:auto auto auto;column-gap:34px;align-items:center}.ga-market-hero-copy{grid-column:1}.ga-market-hero-copy .ga-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#fff}.ga-market-hero-copy h1{margin:7px 0 7px;font-size:42px;line-height:1.08;letter-spacing:-.04em;color:#fff}.ga-market-hero-copy h1 span{color:#ff7a00}.ga-market-hero-copy p{max-width:650px;margin:0;color:rgba(255,255,255,.84);font-size:15px}.ga-ai-hero-card{grid-column:2;grid-row:1/4;align-self:center;background:rgba(255,255,255,.97);color:#172033;border-radius:18px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.6)}.ga-ai-hero-card>div{display:flex;align-items:center;gap:9px}.ga-ai-hero-card strong{font-size:16px}.ga-ai-hero-card span{font-size:10px;background:#dff7eb;color:#087443;padding:4px 7px;border-radius:999px;font-weight:800}.ga-ai-robot{width:38px;height:38px;border-radius:12px;background:#eef8f6;display:grid;place-items:center;color:#0b8f82;font-size:23px}.ga-ai-hero-card p{font-size:13px;color:#667085;line-height:1.6;margin:13px 0 16px}.ga-ai-button{display:block;text-align:center;background:#0b8f62;color:#fff;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:800}.ga-ai-button:hover{text-decoration:none;background:#087650}.ga-market-search{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) 210px 130px;gap:8px;background:transparent;border:0;border-radius:18px;overflow:visible;max-width:820px;width:100%;box-shadow:none;position:relative;z-index:10}.ga-market-search-field{position:relative;display:flex;align-items:center;padding-left:14px;background:#fff;border:4px solid #fff;border-radius:18px;min-width:0;box-shadow:0 10px 35px rgba(0,0,0,.18)}.ga-market-search-field>span{font-size:25px;color:#667085}.ga-market-search-field input{border:0!important;outline:0!important;background:transparent!important;min-height:48px!important;padding:0 10px!important;font-size:14px!important}.ga-market-location{display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;background:#ff6b00;color:#fff;border-radius:14px;font-size:13px;font-weight:850;white-space:nowrap;overflow:hidden;min-width:0;box-shadow:0 10px 28px rgba(255,107,0,.20);cursor:pointer}.ga-market-location:hover{text-decoration:none;color:#172033}.ga-market-search>button{border:0;background:#ff6b00;color:#fff;font-weight:850;border-radius:14px;font-size:13px;cursor:pointer;min-height:56px;box-shadow:0 10px 28px rgba(255,107,0,.20)}.ga-market-actions{grid-column:1;display:flex;gap:10px;margin-top:-1px}.ga-pill{background:#fff;color:#172033;border:1px solid #dce2e9;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:800;box-shadow:0 3px 10px rgba(0,0,0,.08)}.ga-pill:hover{text-decoration:none;transform:translateY(-1px)}.ga-cuisine-strip{display:flex;gap:12px;overflow:auto;padding:18px 20px 14px;scrollbar-width:none}.ga-cuisine-strip::-webkit-scrollbar{display:none}.ga-cuisine-tile{min-width:72px;height:68px;border:1px solid #e7ebf0;border-radius:15px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#172033;box-shadow:0 2px 8px rgba(16,24,40,.03)}.ga-cuisine-tile:hover,.ga-cuisine-tile.active{border-color:#ffd5ba;text-decoration:none;color:#ff6b00;box-shadow:0 7px 20px rgba(255,107,44,.10)}.ga-cuisine-tile b{font-size:22px;line-height:1}.ga-cuisine-tile span{font-size:11px;font-weight:750}.ga-promo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:4px}.ga-promo{min-height:128px;border-radius:12px;border:1px solid #e4e8ee;padding:18px;display:flex;justify-content:space-between;overflow:hidden;position:relative}.ga-promo small{font-weight:850;font-size:10px;letter-spacing:.06em}.ga-promo h3{font-size:18px;margin:4px 0 3px}.ga-promo p{font-size:12px;margin:0 0 12px}.ga-promo a{display:inline-block;padding:7px 11px;border-radius:8px;background:#ff6b00;color:#fff;font-size:11px;font-weight:800}.ga-promo a:hover{text-decoration:none}.ga-promo-green{background:#f2fae9}.ga-promo-green small{color:#0d7b45}.ga-promo-orange{background:#fff5e9}.ga-promo-orange small{color:#ff6b00}.ga-promo-blue{background:#eef7ff}.ga-promo-blue small{color:#1478d4}.ga-promo-purple{background:#f7f0ff}.ga-promo-purple small{color:#7146c5}.ga-promo-art{align-self:center;font-size:44px;white-space:nowrap;transform:rotate(-5deg)}.ga-priority-deals-empty{display:flex;align-items:center;gap:14px;border:1px dashed #f1c7ad;border-radius:13px;background:#fff;padding:14px 16px}.ga-priority-deals-empty .ga-priority-empty-icon{font-size:26px;flex:0 0 auto}.ga-priority-deals-empty strong{font-size:13px}.ga-priority-deals-empty p{margin:3px 0 0;color:#667085;font-size:10px;line-height:1.5}.ga-priority-deals-empty .ga-orange-button{margin-left:auto;white-space:nowrap}.ga-orange-button{display:inline-block;padding:8px 12px;border-radius:8px;background:#ff6b00;color:#fff;font-size:10px;font-weight:850;text-decoration:none!important}.ga-orange-button:hover{background:#e85f00}
.ga-priority-closing-deals{margin-top:8px;margin-bottom:6px;border:2px solid #ffe0cc;border-radius:18px;background:linear-gradient(135deg,#fffaf6,#ffffff);padding:16px 18px;box-shadow:0 10px 28px rgba(255,107,0,.08)}.ga-priority-deals-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.ga-priority-deals-head small{font-size:9px;letter-spacing:.12em;font-weight:900;color:#e65300}.ga-priority-deals-head h2{margin:2px 0 2px;font-size:21px}.ga-priority-deals-head p{margin:0;color:#667085;font-size:11px}.ga-priority-deals-head>a{color:#ff5f00;font-size:11px;font-weight:900;white-space:nowrap}.ga-priority-deals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ga-priority-deal-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:11px;align-items:center;border:1px solid #f0e1d7;border-radius:13px;background:#fff;padding:9px;color:#172033;min-width:0}.ga-priority-deal-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,24,40,.08)}.ga-priority-deal-image{height:86px;border-radius:10px;overflow:hidden;background:#f3f5f7;position:relative;display:grid;place-items:center;font-size:30px}.ga-priority-deal-image img{width:100%;height:100%;object-fit:cover}.ga-priority-deal-image span{position:absolute;left:5px;top:5px;background:#ff5f00;color:#fff;border-radius:5px;padding:3px 5px;font-size:8px;font-weight:900}.ga-priority-deal-info{min-width:0}.ga-priority-deal-info h3{font-size:12px;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-priority-deal-info small{display:block;color:#667085;font-size:9px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-priority-deal-info s{font-size:9px;color:#98a2b3}.ga-priority-deal-info b{font-size:11px}.ga-priority-deal-info em{display:block;font-style:normal;color:#e65300;font-size:8px;font-weight:850;margin-top:6px}.ga-market-content{display:block;padding-top:28px}.ga-market-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.ga-market-section-head h2{font-size:20px;margin:0;letter-spacing:-.02em}.ga-market-section-head h2 span{font-size:12px;color:#1675a9;font-weight:650;margin-left:5px}.ga-market-section-head>a{font-size:12px;color:#ff5f00;font-weight:800;white-space:nowrap}.ga-filter-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:13px;scrollbar-width:none}.ga-filter-tabs::-webkit-scrollbar{display:none}.ga-filter-tabs a{padding:8px 14px;border:1px solid #e3e7ed;border-radius:999px;color:#344054;font-size:11px;font-weight:750;white-space:nowrap}.ga-filter-tabs a.active{background:#ff6b00;color:#fff;border-color:#ff6b00}.ga-filter-tabs a:hover{text-decoration:none}.ga-market-restaurants{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.ga-market-restaurant{display:block;border:1px solid #e5e9ef;border-radius:13px;background:#fff;overflow:hidden;color:#172033;box-shadow:0 5px 16px rgba(16,24,40,.05);transition:.18s}.ga-market-restaurant:hover{transform:translateY(-3px);text-decoration:none;box-shadow:0 14px 30px rgba(16,24,40,.11)}.ga-market-restaurant-media{height:142px;background:#edf1f3;position:relative}.ga-market-restaurant-media img{width:100%;height:100%;object-fit:cover}.ga-food-placeholder{height:100%;display:grid;place-items:center;font-size:45px;background:linear-gradient(135deg,#fff0df,#e8f7f3)}.ga-discount-badge{position:absolute;left:8px;top:8px;background:#ff6b00;color:#fff;padding:5px 7px;border-radius:7px;font-size:9px;font-weight:900}.ga-heart{position:absolute;right:8px;top:8px;width:26px;height:26px;border-radius:50%;background:#fff;color:#475467;display:grid;place-items:center;font-size:17px}.ga-market-restaurant-body{padding:10px}.ga-title-row{display:flex;justify-content:space-between;gap:5px}.ga-title-row h3{font-size:13px;margin:0;line-height:1.25}.ga-title-row b{font-size:10px;color:#8a5a00;white-space:nowrap}.ga-market-restaurant-body p{font-size:10px;color:#667085;margin:5px 0}.ga-meta-row{display:flex;gap:4px;flex-wrap:wrap;color:#667085;font-size:9px}.ga-closing-deals{border:1px solid #e2e7ee;border-radius:16px;background:#fff;padding:14px;height:max-content;box-shadow:0 8px 24px rgba(16,24,40,.04)}.ga-deals-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ga-deals-head h2{margin:0;font-size:18px}.ga-deals-head strong{color:#ff5f00;font-size:12px}.ga-deal-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f3;color:#172033}.ga-deal-row:hover{text-decoration:none}.ga-deal-image{width:58px;height:58px;border-radius:10px;overflow:hidden;background:#f3f5f7;display:grid;place-items:center;font-size:24px}.ga-deal-image img{width:100%;height:100%;object-fit:cover}.ga-deal-info h4{font-size:11px;margin:0 0 2px}.ga-deal-info small{display:block;color:#667085;font-size:9px;margin-bottom:4px}.ga-deal-info s{color:#98a2b3;font-size:9px}.ga-deal-info b{font-size:11px}.ga-deal-info em{font-style:normal;background:#fff0e8;color:#e65300;border-radius:5px;padding:3px 4px;font-size:8px;font-weight:850}.ga-deal-stock{font-size:8px;color:#667085;white-space:nowrap}.ga-view-deals{display:block;text-align:center;color:#ff5f00;font-size:11px;font-weight:850;padding-top:12px}.ga-deals-empty{padding:24px 5px;color:#667085;font-size:11px;text-align:center}.ga-popular-cuisines{padding-top:28px;padding-bottom:36px}.ga-popular-cuisine-row{display:flex;gap:12px;overflow:auto}.ga-popular-cuisine-row a{min-width:110px;border:1px solid #e5e9ef;border-radius:14px;padding:14px;background:#fff;color:#172033;font-size:12px;font-weight:750;text-align:center}.ga-popular-cuisine-row a span{display:block;font-size:28px;margin-bottom:7px}.ga-popular-cuisine-row a:hover{text-decoration:none;border-color:#ffcfb1}.ga-market-empty{grid-column:1/-1;padding:50px 20px;text-align:center;border:1px dashed #d8dee7;border-radius:16px}.ga-market-empty>span{font-size:42px}.ga-market-empty h3{margin:8px 0 3px}.ga-market-empty p{color:#667085;font-size:12px}.ga-orange-button{display:inline-block;background:#ff6b00;color:#fff;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800}.ga-orange-button:hover{text-decoration:none}.ga-mainbar .ga-mobile-menu-toggle{display:none}.ga-site-header + .ga-skip-link + main{background:#fff}.ga-mock-home .ga-search-suggestions{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:200}.ga-market-search-field .ga-search-suggestions{display:none}.ga-market-search-field .ga-search-suggestions.is-open{display:block}.ga-market-search-field .ga-search-suggestion{color:#172033;background:#fff}.ga-market-search-field .ga-search-suggestion strong{color:#172033}
@media(max-width:1100px){.ga-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-market-restaurants{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-market-content{grid-template-columns:minmax(0,1fr) 290px}.ga-main-nav>a{padding:0 8px}.ga-mainbar-inner{gap:16px}}
@media(max-width:820px){.ga-priority-deals-grid{grid-template-columns:1fr 1fr}.ga-priority-deal-card{grid-template-columns:72px minmax(0,1fr)}.ga-priority-deal-image{height:72px}.ga-market-content{display:block}.ga-topbar{height:auto;padding:7px 0}.ga-top-links a:nth-child(3),.ga-top-links a:nth-child(4),.ga-top-icon{display:none}.ga-mainbar{height:auto}.ga-mainbar-inner{min-height:70px;position:relative}.ga-main-logo{min-width:0}.ga-main-logo img{width:170px}.ga-main-nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);height:auto;background:#fff;border:1px solid #e2e7ee;border-radius:16px;padding:8px;box-shadow:0 18px 45px rgba(16,24,40,.18);flex-direction:column}.ga-main-nav.is-open{display:flex}.ga-main-nav>a{height:44px}.ga-main-nav>a.active:after{display:none}.ga-mainbar .ga-mobile-menu-toggle{display:block;margin-left:auto}.ga-main-actions{margin-left:0}.ga-account-link span:nth-child(2){display:none}.ga-market-hero-inner{grid-template-columns:1fr;min-height:auto;padding-top:30px}.ga-market-hero-copy{grid-column:1}.ga-ai-hero-card{grid-column:1;grid-row:auto;display:none}.ga-market-search{grid-column:1;grid-template-columns:minmax(0,1fr) 125px}.ga-market-location{grid-column:1/-1;border-left:0;border-top:1px solid #e6e9ee;min-height:44px}.ga-market-search>button{grid-column:2;grid-row:1}.ga-market-actions{grid-column:1}.ga-market-content{grid-template-columns:1fr}.ga-closing-deals{order:2}.ga-market-restaurants{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ga-priority-deals-head{align-items:flex-start}.ga-priority-deals-grid{grid-template-columns:1fr}.ga-priority-deal-card{grid-template-columns:82px minmax(0,1fr)}.ga-priority-deal-image{height:78px}.ga-topbar-inner{align-items:flex-start;flex-direction:column;gap:5px}.ga-top-links{gap:12px;flex-wrap:wrap}.ga-main-logo small{display:none}.ga-main-logo img{width:155px}.ga-market-hero-copy h1{font-size:34px}.ga-market-hero-copy p{font-size:13px}.ga-market-search{grid-template-columns:1fr}.ga-market-search>button{grid-column:1;grid-row:auto;min-height:48px}.ga-market-location{grid-column:1}.ga-market-actions{display:grid;grid-template-columns:1fr;gap:7px}.ga-pill{text-align:center}.ga-cuisine-tile{min-width:66px}.ga-promo-grid{grid-template-columns:1fr}.ga-promo{min-height:115px}.ga-market-restaurants{grid-template-columns:1fr}.ga-market-restaurant-media{height:185px}.ga-market-section-head{align-items:flex-start}.ga-market-section-head h2{font-size:17px}.ga-market-section-head h2 span{display:block;margin:3px 0 0}.ga-filter-tabs a{font-size:10px}.ga-deal-row{grid-template-columns:52px minmax(0,1fr)}.ga-deal-image{width:52px;height:52px}.ga-deal-stock{display:none}}
.ga-market-details{position:relative}.ga-market-details summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer}.ga-market-details summary::-webkit-details-marker{display:none}.ga-market-form{position:absolute;top:30px;left:0;z-index:220;width:280px;background:#fff;color:#172033;border:1px solid #dfe5ec;border-radius:14px;padding:14px;box-shadow:0 18px 45px rgba(0,0,0,.24);display:grid;gap:10px}.ga-market-form label{font-size:11px;font-weight:800}.ga-market-form select{width:100%;margin-top:4px;border:1px solid #dfe5ec;border-radius:9px;padding:9px;background:#fff}.ga-market-country-search{width:100%;margin-top:4px;border:1px solid #dfe5ec;border-radius:9px;padding:9px 10px;background:#fff;color:#172033;font:inherit;box-sizing:border-box}.ga-market-country-search:focus{outline:2px solid rgba(255,139,61,.25);border-color:#ff8b3d}.ga-market-form .btn{width:100%;min-height:40px}.ga-market-details[open] summary{color:#ff8b3d}

/* v30 functional marketplace interactions */
.ga-market-location{border:0;background:transparent;cursor:pointer;font:inherit;}
.ga-home-location-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px;}
.ga-home-location-modal[hidden]{display:none;}
.ga-home-location-backdrop{position:absolute;inset:0;background:rgba(7,18,30,.62);backdrop-filter:blur(5px);}
.ga-home-location-panel{position:relative;width:min(560px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.3);z-index:1;}
.ga-home-location-panel h2{margin:6px 0 6px;font-size:26px;}
.ga-home-location-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f5f7;font-size:24px;cursor:pointer;}
.ga-home-location-search{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;border:1px solid #dfe5ec;border-radius:14px;overflow:hidden;margin-top:18px;background:#fff;}
.ga-home-location-search span{padding-left:12px;color:#667085;font-size:22px;}
.ga-home-location-search input{border:0!important;outline:0!important;min-height:50px!important;padding:0 8px!important;}
.ga-home-location-search button{border:0;background:#ff6b00;color:#fff;height:50px;padding:0 14px;font-weight:800;cursor:pointer;}
.ga-home-location-results{margin-top:8px;max-height:330px;overflow:auto;}
.ga-home-location-result{width:100%;display:block;text-align:left;border:0;border-bottom:1px solid #edf0f3;background:#fff;padding:12px 8px;cursor:pointer;}
.ga-home-location-result:hover{background:#f7fafb;}
.ga-home-location-result strong,.ga-home-location-result small{display:block;}
.ga-home-location-result small{color:#667085;margin-top:3px;}
.ga-home-location-advanced{display:block;margin-top:14px;text-align:center;font-size:12px;color:#667085;}
@media(max-width:760px){.ga-market-search{grid-template-columns:1fr;gap:8px}.ga-market-search-field{min-height:56px}.ga-market-location,.ga-market-search>button{min-height:50px}.ga-market-actions{flex-wrap:wrap}.ga-priority-deals-empty{align-items:flex-start;flex-wrap:wrap}.ga-priority-deals-empty .ga-orange-button{margin-left:0}.ga-home-location-panel{padding:22px 16px}.ga-home-location-search{grid-template-columns:26px minmax(0,1fr);}.ga-home-location-search button{grid-column:1/-1;border-radius:0;height:46px;}.ga-home-location-search input{min-width:0!important;}}


/* v31 — clearer account roles, social login, visible footer contact, legal readability */
.ga-guest-actions{gap:10px;align-items:center}.ga-guest-action-group{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e5e9ef;border-radius:12px;background:#fff}.ga-guest-action-group .ga-guest-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:800;margin-right:2px}.ga-guest-action-group a{font-size:12px;font-weight:850;color:#172033}.ga-guest-action-group a:hover{text-decoration:none;color:#ff6b00}.ga-provider-action-group{background:#fff8f3;border-color:#ffd9c2}.ga-provider-action-group .ga-guest-label{color:#a34a1c}.footer-contact-block a{display:block!important;padding:6px 0}.ga-social-divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:#98a2b3;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.ga-social-divider:before,.ga-social-divider:after{content:"";height:1px;background:#e5e7eb;flex:1}.ga-google-button,.ga-facebook-button{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border:1px solid #d9dee7;border-radius:12px;background:#fff;color:#172033;font-weight:800;text-decoration:none!important;box-sizing:border-box}.ga-google-button:hover{background:#f8fafc;border-color:#c9d2df}.ga-google-g{font-family:Arial,sans-serif;font-size:20px;font-weight:800;color:#4285f4}.ga-facebook-button{margin-top:9px;background:#1877f2;color:#fff;border-color:#1877f2}.ga-social-note{font-size:11px;color:#7a8697;text-align:center;line-height:1.5;margin:9px 0 0}.ga-promo-mega{position:relative}.ga-mega-deal-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0 10px;font-size:10px;font-weight:800;color:#fff}.ga-mega-deal-status a{color:#fff;text-decoration:underline!important}.ga-live-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18);display:inline-block}.ga-legal-shell{width:min(980px,calc(100% - 40px));margin:44px auto 72px}.ga-legal-card{background:#fff;border:1px solid #e5e9ef;border-radius:22px;padding:clamp(24px,4vw,48px);box-shadow:0 16px 50px rgba(16,24,40,.06)}.legal-content{max-width:780px;margin:28px auto 0;color:#344054;font-size:15px;line-height:1.85;overflow-wrap:anywhere}.legal-content h2,.legal-content h3{color:#172033;margin:28px 0 10px}.legal-content p{margin:0 0 16px}.legal-content ul,.legal-content ol{padding-left:24px;margin:0 0 18px}.ga-legal-card>h1{max-width:780px;margin-left:auto;margin-right:auto}.ga-legal-meta{max-width:780px;margin:0 auto;color:#7a8697;font-size:12px}.ga-legal-shell>.meta{display:inline-block}
@media(max-width:1100px){.ga-guest-actions{gap:6px}.ga-guest-action-group{padding:6px 8px}.ga-guest-action-group .ga-guest-label{display:none}}
@media(max-width:820px){.ga-guest-actions{width:100%;justify-content:flex-end}.ga-guest-action-group{font-size:11px}.ga-guest-action-group a{font-size:11px}.ga-guest-action-group .ga-guest-label{display:inline;font-size:8px}.ga-mainbar-inner{flex-wrap:wrap}.ga-main-actions{margin-left:auto}}
@media(max-width:560px){.ga-guest-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;order:4}.ga-guest-action-group{justify-content:center}.ga-guest-action-group .ga-guest-label{display:block;grid-column:1/-1}.ga-guest-action-group{flex-wrap:wrap}.ga-legal-shell{width:min(100% - 24px,980px);margin:28px auto 48px}.ga-legal-card{padding:22px 18px}.legal-content{font-size:14px}}

.ds-footer .footer-grid{grid-template-columns:1.45fr repeat(4,minmax(130px,1fr))}
@media(max-width:980px){.ds-footer .footer-grid{grid-template-columns:1.35fr repeat(2,minmax(140px,1fr))}.footer-contact-block{grid-column:auto}}

/* v32 functional/UI stabilization overrides */
html,body{max-width:100%;overflow-x:hidden}
.ga-mainbar-inner{gap:16px;min-width:0}
.ga-main-logo{min-width:190px;flex:0 0 190px}
.ga-main-logo img{width:190px;max-width:100%;height:auto}
.ga-main-nav{min-width:0;gap:2px;overflow:hidden}
.ga-main-nav>a{padding:0 10px;font-size:13px;white-space:nowrap}
.ga-main-actions{flex:0 0 auto;min-width:0}
.ga-guest-actions{gap:6px;max-width:430px}
.ga-guest-action-group{padding:6px 8px;gap:6px;white-space:nowrap;min-width:0}
.ga-guest-action-group .ga-guest-label{font-size:8px}
.ga-guest-action-group a{font-size:11px}
.ga-market-search{width:100%;max-width:860px;grid-template-columns:minmax(220px,1fr) minmax(135px,170px) 112px}
.ga-market-search-field{min-width:0;overflow:hidden}
.ga-market-search-field input{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ga-market-location{min-width:0;text-overflow:ellipsis}
.ga-market-location span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ga-market-search>button{min-width:0}

@media(max-width:1180px){
  .ga-mainbar-inner{gap:10px}
  .ga-main-logo{flex-basis:165px;min-width:165px}
  .ga-main-logo img{width:165px}
  .ga-main-nav>a{padding:0 7px;font-size:12px}
  .ga-guest-actions{max-width:360px}
  .ga-guest-action-group{padding:5px 6px}
  .ga-guest-action-group .ga-guest-label{display:none}
  .ga-market-search{max-width:100%;grid-template-columns:minmax(200px,1fr) 145px 105px}
}
@media(max-width:980px){
  .ga-mainbar{height:auto}
  .ga-mainbar-inner{min-height:76px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .ga-main-logo{flex:0 0 175px}
  .ga-main-logo img{width:175px}
  .ga-main-nav{order:3;flex:1 1 100%;height:44px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start}
  .ga-main-nav>a{height:44px}
  .ga-main-actions{margin-left:auto}
  .ga-guest-actions{max-width:none}
  .ga-market-search{grid-template-columns:minmax(0,1fr) 135px 100px}
}
@media(max-width:760px){
  .ga-mainbar-inner{min-height:68px;flex-wrap:nowrap}
  .ga-main-logo{flex:0 0 150px;min-width:150px}
  .ga-main-logo img{width:150px}
  .ga-main-nav{display:none}
  .ga-mainbar .ga-mobile-menu-toggle{display:block;margin-left:auto;flex:0 0 auto}
  .ga-main-actions{order:0}
  .ga-guest-actions{display:flex;width:auto;max-width:240px}
  .ga-guest-action-group{padding:5px 6px}
  .ga-guest-action-group a{font-size:10px}
  .ga-market-search{grid-template-columns:1fr}
  .ga-market-location{grid-column:1;border-left:0;border-top:1px solid #e6e9ee;min-height:48px}
  .ga-market-search>button{grid-column:1;min-height:48px}
}
@media(min-width:981px) and (max-width:1100px){
  .ga-market-search{grid-template-columns:minmax(0,1fr) 140px;max-width:100%}
  .ga-market-location{grid-column:1;grid-row:2;border-left:0;border-top:1px solid #e6e9ee;min-height:48px}
  .ga-market-search>button{grid-column:2;grid-row:2;min-height:48px}
}
@media(min-width:1181px){
  .ga-guest-action-group{max-width:205px;overflow:hidden}
  .ga-guest-action-group .ga-guest-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:105px}
  .ga-provider-action-group{max-width:225px}
}

/* v34 — final responsive/header + Concierge stability corrections */
.ga-main-logo img{width:210px;height:auto;max-width:210px;object-fit:contain;filter:none}
.ga-main-logo{flex:0 0 210px;min-width:210px}
.ga-mainbar-inner{gap:18px}
.ga-main-nav{gap:0;min-width:0}
.ga-main-nav>a{padding:0 9px;font-size:13px;white-space:nowrap}
.ga-main-actions{min-width:0}
.ga-guest-actions{gap:6px;max-width:none}
.ga-guest-action-group{padding:6px 7px;gap:5px}
.ga-guest-action-group a{font-size:10.5px}
.ga-guest-action-group .ga-guest-label{font-size:8px}
.ga-market-search{box-sizing:border-box;width:min(820px,100%);max-width:100%;}
.ga-market-search-field input{box-sizing:border-box;min-width:0;max-width:100%;}
.ga-market-location{box-sizing:border-box;min-width:0;}
.ga-concierge{width:100%;box-sizing:border-box;overflow:hidden}
.ga-concierge-hero,.ga-chat{box-sizing:border-box;max-width:100%}
.ga-prompt-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none}
.ga-prompt-row::-webkit-scrollbar{display:none}
.ga-prompt{flex:0 0 auto}
.ga-chat form{min-width:0}
.ga-chat textarea{width:100%;box-sizing:border-box;resize:vertical}
.ga-ai-results{min-width:0}

@media(max-width:1180px){
  .ga-main-logo{flex:0 0 185px;min-width:185px}
  .ga-main-logo img{width:185px;max-width:185px}
  .ga-mainbar-inner{gap:10px}
  .ga-main-nav>a{padding:0 6px;font-size:12px}
  .ga-guest-action-group{padding:5px 5px}
  .ga-guest-action-group a{font-size:10px}
  .ga-guest-action-group .ga-guest-label{display:none}
}
@media(max-width:1040px){
  .ga-mainbar{height:auto}
  .ga-mainbar-inner{min-height:72px;flex-wrap:wrap;padding:8px 0}
  .ga-main-logo{flex:0 0 185px}
  .ga-main-nav{order:3;flex:1 1 100%;height:42px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;border-top:1px solid #eef1f4}
  .ga-main-nav>a{height:42px}
  .ga-main-actions{margin-left:auto}
  .ga-market-hero-inner{grid-template-columns:minmax(0,1fr);}
  .ga-ai-hero-card{display:none}
  .ga-market-search{grid-column:1;grid-template-columns:minmax(0,1fr) 145px 110px;max-width:100%}
  .ga-market-actions{grid-column:1}
}
@media(max-width:760px){
  .ga-mainbar-inner{min-height:68px;flex-wrap:nowrap;padding:8px 0}
  .ga-main-logo{flex:0 0 155px;min-width:155px}
  .ga-main-logo img{width:155px;max-width:155px}
  .ga-main-nav{display:none}
  .ga-mainbar .ga-mobile-menu-toggle{display:block;margin-left:auto;flex:0 0 auto}
  .ga-main-actions{margin-left:0}
  .ga-guest-actions{max-width:220px}
  .ga-guest-action-group{padding:4px 5px}
  .ga-market-search{grid-template-columns:1fr;border-radius:18px}
  .ga-market-location{grid-column:1;border-left:0;border-top:1px solid #e6e9ee;min-height:48px}
  .ga-market-search>button{grid-column:1;min-height:48px}
  .ga-concierge{padding:28px 12px 12px}
  .ga-concierge-hero{padding:28px 20px;border-radius:22px}
  .ga-concierge-hero h1{font-size:clamp(34px,9vw,48px)}
  .ga-chat{margin:-12px 8px 0;padding:18px}
  .ga-chat form{grid-template-columns:1fr}
  .ga-chat form textarea{grid-column:1}
  .ga-chat form .btn{width:100%}
  .ga-ai-results{grid-template-columns:1fr}
}

/* ================================================================
   v35 — Unified modern form controls
   Applied across public pages, auth, onboarding and dashboards.
   Keep specialized marketplace/search controls scoped below.
   ================================================================ */
:root{
  --ga-input-bg:#ffffff;
  --ga-input-border:#d7e0e9;
  --ga-input-border-hover:#b9c8d7;
  --ga-input-focus:#0b8f82;
  --ga-input-focus-ring:rgba(11,143,130,.14);
}

form .form-group > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
form .form-group > select,
form .form-group > textarea,
form > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
form > select,
form > textarea,
.onboarding-card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.onboarding-card select,
.onboarding-card textarea,
.card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.card select,
.card textarea {
  width:100%;
  min-height:50px;
  padding:13px 15px !important;
  border:1px solid var(--ga-input-border) !important;
  border-radius:14px !important;
  background:var(--ga-input-bg) !important;
  color:var(--ga-ink) !important;
  font:inherit;
  font-size:15px;
  line-height:1.35;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

form .form-group > input:hover:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
form .form-group > select:hover,
form .form-group > textarea:hover,
.onboarding-card input:hover:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.onboarding-card select:hover,
.onboarding-card textarea:hover,
.card input:hover:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.card select:hover,
.card textarea:hover {
  border-color:var(--ga-input-border-hover) !important;
}

form .form-group > input:focus:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
form .form-group > select:focus,
form .form-group > textarea:focus,
form > input:focus:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
form > select:focus,
form > textarea:focus,
.onboarding-card input:focus:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.onboarding-card select:focus,
.onboarding-card textarea:focus,
.card input:focus:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.card select:focus,
.card textarea:focus {
  outline:none !important;
  border-color:var(--ga-input-focus) !important;
  box-shadow:0 0 0 4px var(--ga-input-focus-ring),0 1px 2px rgba(16,24,40,.04) !important;
}

form .form-group > textarea,
form > textarea,
.onboarding-card textarea,
.card textarea { min-height:110px; resize:vertical; }

form .form-group > label,
form > label,
.onboarding-card .form-group > label,
.card .form-group > label {
  color:#26364b;
  font-size:13px;
  font-weight:750;
  letter-spacing:.01em;
  margin-bottom:7px;
}

.onboarding-card .form-grid-2 { gap:18px; }
.onboarding-card .form-group { margin-bottom:18px; }
.onboarding-card input,
.onboarding-card select { min-height:52px; }
.onboarding-card .step-pill { margin-top:16px; }

/* Specialized search controls retain their intentional compact treatment. */
.search-large input,
.ga-market-search-field input,
.ga-home-location-search input,
.ga-location-searchbar input {
  min-height:48px !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Compact controls used by tables/filter toolbars remain compact by class. */
.table-filter input,
.table-filter select,
.compact-control { min-height:42px !important; padding:9px 12px !important; border-radius:10px !important; }

@media(max-width:700px){
  .onboarding-card .form-grid-2 { grid-template-columns:1fr; }
  form .form-group > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  form .form-group > select,
  .onboarding-card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .onboarding-card select,
  .card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .card select { min-height:48px; }
}


/* V38 — final mobile/header/footer polish. The HTML src is authoritative; no CSS content substitution. */
.ga-main-logo img{
  content:revert !important;
  width:210px;
  max-width:210px;
  height:auto;
  object-fit:contain;
  filter:none !important;
  display:block;
}
.ga-mobile-only-auth{display:none;}

@media(max-width:760px){
  .ga-mainbar-inner{
    width:min(100% - 20px,1240px);
    min-height:64px;
    gap:8px;
    flex-wrap:nowrap;
  }
  .ga-main-logo{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:160px;
  }
  .ga-main-logo img{
    width:100% !important;
    max-width:160px !important;
    height:auto !important;
    content:revert !important;
  }
  .ga-main-actions{
    margin-left:auto !important;
    flex:0 0 auto;
  }
  .ga-guest-actions{
    display:flex !important;
    width:auto !important;
    max-width:none !important;
    gap:0 !important;
  }
  .ga-guest-action-group{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:0;
    padding:7px 8px !important;
    gap:5px !important;
    white-space:nowrap;
  }
  .ga-guest-action-group .ga-guest-label{display:none !important;}
  .ga-guest-action-group a{font-size:11px !important;line-height:1.2;}
  .ga-provider-action-group{display:none !important;}
  .ga-mobile-menu-toggle{flex:0 0 auto;}

  .ga-mobile-only-auth{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin-top:6px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.10);
  }
  .ga-mobile-only-auth a{
    width:auto !important;
    text-align:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    padding:10px 8px !important;
    font-size:12px !important;
    white-space:normal !important;
  }

  .ds-footer .footer-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .ds-footer .footer-grid>div{
    min-width:0 !important;
    width:100%;
  }
  .ds-footer .footer-grid>div:first-child{
    grid-column:auto !important;
    padding-right:0 !important;
  }
  .ds-footer .footer-grid p{
    max-width:100% !important;
    overflow-wrap:anywhere;
  }
  .footer-contact-block a{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .ds-footer .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    margin-top:28px;
    min-width:0;
  }
  .ds-footer .footer-bottom span{
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

@media(min-width:761px){
  .ga-mobile-only-auth{display:none !important;}
}

/* V39 — market flag, mobile provider access and English location presentation. */
.ga-mobile-only-auth{
  grid-column:1/-1;
  width:100%;
  box-sizing:border-box;
  gap:8px;
}
.ga-mobile-auth-group{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border:1px solid #e5e9ef;
  border-radius:10px;
  background:#fff;
  box-sizing:border-box;
}
.ga-mobile-auth-group strong{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#667085;
  white-space:nowrap;
}
.ga-mobile-auth-group>div{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.ga-mobile-auth-group a{
  border:0!important;
  padding:0!important;
  font-size:12px!important;
  font-weight:800;
  color:#172033;
}
.ga-mobile-provider-auth{
  background:#fff8f3;
  border-color:#ffd9c2;
}
.ga-mobile-provider-auth strong{color:#a34a1c;}
@media(max-width:760px){
  .ga-mobile-only-auth{
    display:grid!important;
    grid-template-columns:1fr;
  }
  .ga-mobile-auth-group{
    min-width:0;
  }
}

/* V40 — mobile provider access: keep hamburger visible and provider auth inside it. */
@media(max-width:760px){
  .ga-mainbar-inner{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:7px !important;
    min-width:0 !important;
    width:min(100% - 20px,1240px) !important;
    overflow:visible !important;
  }
  .ga-main-logo{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
  }
  .ga-main-logo img{
    width:155px !important;
    max-width:155px !important;
  }
  .ga-mobile-menu-toggle,
  .ga-mainbar .ga-mobile-menu-toggle{
    display:block !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    order:2 !important;
    box-sizing:border-box !important;
  }
  .ga-main-actions{
    order:3 !important;
    flex:0 0 auto !important;
    margin-left:0 !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .ga-guest-actions{
    display:flex !important;
    width:auto !important;
    max-width:none !important;
    gap:0 !important;
    flex-wrap:nowrap !important;
  }
  .ga-guest-action-group{
    display:flex !important;
    width:auto !important;
    min-width:0 !important;
    padding:7px 7px !important;
    gap:4px !important;
    white-space:nowrap !important;
  }
  .ga-guest-action-group a{font-size:11px !important;}
  .ga-provider-action-group{display:none !important;}
  .ga-main-nav{
    z-index:1000 !important;
    max-height:calc(100vh - 100px) !important;
    overflow-y:auto !important;
  }
}

@media(max-width:390px){
  .ga-main-logo img{width:140px !important;max-width:140px !important;}
  .ga-mobile-menu-toggle,.ga-mainbar .ga-mobile-menu-toggle{flex-basis:40px !important;width:40px !important;height:40px !important;}
  .ga-guest-action-group{padding-left:5px !important;padding-right:5px !important;}
  .ga-guest-action-group a{font-size:10px !important;}
}

/* ================================================================
   V46 — Mobile provider access, spacing and homepage card controls
   ================================================================ */
.ga-innovix-link{color:inherit !important;font-weight:700;text-decoration:underline !important;text-underline-offset:2px}
.ga-admin-promo-editor{margin:14px 0;padding:16px;border:1px solid #e3e8ef;border-radius:16px;background:#f8fafc}
.ga-admin-promo-editor h4{margin:0 0 12px;color:#172033}
.ga-admin-promo-editor .form-grid-2{gap:12px}
.ga-admin-promo-editor .form-group{margin-bottom:10px}
.ga-admin-promo-editor code{background:#eef2f6;padding:2px 5px;border-radius:5px}
/* The Mega Weekend card sits on a pale green background; status copy must
   remain dark and readable rather than inheriting white text. */
.ga-promo-mega .ga-mega-deal-status,
.ga-promo-mega .ga-mega-deal-status span,
.ga-promo-mega .ga-mega-deal-status a{color:#24543c !important}
.ga-promo-mega .ga-live-dot{background:#0d7b45 !important;box-shadow:0 0 0 4px rgba(13,123,69,.14) !important}

@media(max-width:760px){
  /* Public guest header: expose BOTH account types on mobile instead of
     hiding the provider group. The two compact panels remain usable even
     on narrow phones. */
  .ga-mainbar{height:auto !important}
  .ga-mainbar-inner{
    min-height:0 !important;
    height:auto !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .ga-main-logo{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:calc(100% - 52px) !important;
  }
  .ga-main-logo img{width:150px !important;max-width:150px !important;height:auto !important}
  .ga-mobile-menu-toggle{display:block !important;order:2 !important;flex:0 0 40px !important;width:40px !important;height:40px !important}
  .ga-main-actions{
    order:3 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    flex:0 0 100% !important;
  }
  .ga-guest-actions{
    width:100% !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    align-items:stretch !important;
  }
  .ga-guest-action-group,
  .ga-provider-action-group{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:8px 7px !important;
    gap:5px !important;
    border:1px solid #dfe5ec !important;
    border-radius:12px !important;
    background:#fff !important;
    white-space:nowrap !important;
  }
  .ga-provider-action-group{border-color:#ffd7bd !important;background:#fff8f3 !important}
  .ga-guest-action-group .ga-guest-label{
    display:inline !important;
    font-size:8px !important;
    letter-spacing:.04em !important;
    color:#667085 !important;
  }
  .ga-provider-action-group .ga-guest-label{color:#a34a1c !important}
  .ga-guest-action-group a{font-size:11px !important;line-height:1.2 !important}

  /* Keep the hamburger menu's provider section as a second access path too. */
  .ga-mobile-only-auth{display:grid !important;grid-template-columns:1fr !important}

  /* Uniform vertical spacing: search field -> location -> search -> action row. */
  .ga-market-search{gap:12px !important;margin:0 !important}
  .ga-market-search-field{margin:0 !important}
  .ga-market-location,
  .ga-market-search>button{margin:0 !important}
  .ga-market-actions{gap:12px !important;margin-top:12px !important}
  .ga-pill{min-height:50px !important;display:flex !important;align-items:center !important;justify-content:center !important;box-sizing:border-box !important}

  /* The promo cards need enough internal breathing room when stacked. */
  .ga-promo-grid{gap:14px !important;padding-top:6px !important}
  .ga-promo{min-height:128px !important;padding:18px !important}
  .ga-promo h3{max-width:70%}
  .ga-mega-deal-status{color:#24543c !important;line-height:1.45 !important}

  /* Footer columns stay aligned and the attribution link remains visible. */
  .ds-footer .footer-bottom{gap:10px !important}
}

@media(max-width:390px){
  .ga-main-logo img{width:138px !important;max-width:138px !important}
  .ga-guest-action-group{padding:7px 5px !important}
  .ga-guest-action-group .ga-guest-label{font-size:7px !important}
  .ga-guest-action-group a{font-size:10px !important}
  .ga-market-search,.ga-market-actions{gap:10px !important}
}

/* v46E — homepage hero copy to search spacing correction
   Add a small, consistent breathing gap below the hero description before the search box.
   No functional or database changes. */
.ga-market-hero-copy p{margin:0 0 15px !important;}
@media(max-width:760px){
  .ga-market-hero-copy p{margin-bottom:14px !important;}
}

/* v46D — homepage desktop action-row spacing correction
   Keep the three action buttons clearly separated from the main search box
   at desktop/tablet widths, while retaining consistent mobile spacing. */
.ga-market-actions{
  margin-top:18px !important;
  gap:12px !important;
}
.ga-market-search{
  margin-bottom:0 !important;
}
@media(max-width:760px){
  .ga-market-actions{
    margin-top:14px !important;
    gap:12px !important;
  }
}
@media(min-width:761px){
  .ga-market-actions .ga-pill{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
  }
}

/* V46F — internal-page mobile responsive correction
   Fixes guest auth overflow, long location labels, discovery hero sizing,
   and search/filter card width on narrow screens. No DB or JS changes. */
@media(max-width:760px){
  /* Public header: stack customer and restaurant/provider access so neither
     account group can be squeezed or clipped on narrow phones. */
  .ga-main-actions.ga-guest-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    gap:8px !important;
    box-sizing:border-box !important;
  }
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:48px !important;
    padding:9px 12px !important;
    box-sizing:border-box !important;
    justify-content:space-between !important;
    overflow:hidden !important;
  }
  .ga-main-actions .ga-guest-label{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:10px !important;
  }
  .ga-main-actions .ga-guest-action-group > a,
  .ga-main-actions .ga-provider-action-group > a{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  /* Internal discovery pages need their own mobile rhythm; don't let the
     desktop flex layout force the title/location into one horizontal line. */
  .discovery-shell{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin:24px auto !important;
    box-sizing:border-box !important;
  }
  .discovery-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    margin-bottom:18px !important;
    min-width:0 !important;
  }
  .discovery-head > div{min-width:0 !important;width:100% !important;}
  .discovery-head h1{
    font-size:clamp(32px,9vw,40px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    margin:0 0 8px !important;
  }
  .discovery-head .meta{
    line-height:1.5 !important;
    margin:0 !important;
  }
  .location-pill{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }
  .location-pill:not(span){overflow:hidden !important;}
  .location-pill::first-line{overflow:hidden;}
  .location-pill span{flex:0 0 auto !important;margin-left:6px !important;}

  /* The location text is the anonymous text node in the link, so constrain
     the link itself and prevent it from expanding the viewport. */
  .discovery-head .location-pill{
    text-overflow:ellipsis !important;
  }

  .discovery-tools{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:12px !important;
    overflow:hidden !important;
  }
  .search-large{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .search-large input{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    font-size:16px !important;
  }
  .mobile-filter-trigger{
    box-sizing:border-box !important;
    width:100% !important;
  }
  .cuisine-rail{
    display:block !important;
    margin:20px 0 !important;
    min-width:0 !important;
  }
  .cuisine-rail > strong{
    display:block !important;
    margin-bottom:10px !important;
  }
  .cuisine-scroll{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-x:auto !important;
    padding-bottom:4px !important;
  }
}

@media(max-width:390px){
  .discovery-shell{width:calc(100% - 20px) !important;}
  .discovery-head h1{font-size:31px !important;}
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{padding-left:10px !important;padding-right:10px !important;}
  .ga-main-actions .ga-guest-label{font-size:9px !important;}
  .ga-main-actions .ga-guest-action-group > a,
  .ga-main-actions .ga-provider-action-group > a{font-size:11px !important;}
}

/* V46G: clickable top utility icons + consistent guest auth alignment */
.ga-top-links .ga-top-icon{display:inline-flex;align-items:center;justify-content:center;color:#f7f9fb;text-decoration:none;font-size:18px;line-height:1;cursor:pointer;transition:color .15s ease,opacity .15s ease;}
.ga-top-links .ga-top-icon:hover{color:#ff8b3d;text-decoration:none;opacity:.95;}
@media(max-width:820px){
  .ga-mobile-auth-group{display:grid !important;grid-template-columns:minmax(150px,1fr) 90px 90px;align-items:center;column-gap:0;width:100%;box-sizing:border-box;}
  .ga-mobile-auth-group strong{grid-column:1;min-width:0;}
  .ga-mobile-auth-group>div{display:contents;}
  .ga-mobile-auth-group>div a{display:flex;align-items:center;justify-content:center;min-width:0;white-space:nowrap;}
  .ga-mobile-auth-group>div span{display:flex;align-items:center;justify-content:center;}
}
@media(max-width:520px){
  .ga-mobile-auth-group{grid-template-columns:minmax(0,1fr) 78px 78px;}
  .ga-mobile-auth-group strong{font-size:11px !important;}
  .ga-mobile-auth-group>div a{font-size:11px !important;}
}
@media(max-width:390px){
  .ga-mobile-auth-group{grid-template-columns:minmax(0,1fr) 70px 70px;}
  .ga-mobile-auth-group strong{font-size:10px !important;}
  .ga-mobile-auth-group>div a{font-size:10px !important;}
}


/* V46H: clean guest header utility bar and fixed auth action columns */
.ga-top-links .ga-top-icon{display:none !important;}
.ga-guest-action-group{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 72px 14px 72px !important;
  align-items:center !important;
  column-gap:0 !important;
  min-width:0 !important;
}
.ga-guest-action-group .ga-guest-label{
  grid-column:1 !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  margin-right:0 !important;
}
.ga-guest-action-group > a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  white-space:nowrap !important;
}
.ga-guest-action-group > a:nth-of-type(1){grid-column:2 !important;}
.ga-guest-action-group > span[aria-hidden="true"]{grid-column:3 !important;display:flex !important;align-items:center !important;justify-content:center !important;}
.ga-guest-action-group > a:nth-of-type(2){grid-column:4 !important;}
@media(max-width:560px){
  .ga-guest-actions{grid-template-columns:1fr !important;}
  .ga-guest-action-group{width:100% !important;box-sizing:border-box !important;grid-template-columns:minmax(0,1fr) 76px 14px 76px !important;}
  .ga-guest-action-group .ga-guest-label{font-size:11px !important;}
  .ga-guest-action-group > a{font-size:11px !important;}
}
@media(max-width:390px){
  .ga-guest-action-group{grid-template-columns:minmax(0,1fr) 70px 12px 70px !important;}
  .ga-guest-action-group .ga-guest-label{font-size:10px !important;}
  .ga-guest-action-group > a{font-size:10px !important;}
}


/* V46J — guest header desktop authentication layout
   Keep the customer/provider labels fully readable in desktop web view by
   giving the auth panels their own full-width row when the header is not
   mobile. The mobile alignment from V46H remains unchanged. */
@media(min-width:821px){
  .ga-mainbar-inner{
    flex-wrap:wrap !important;
    gap:10px 20px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .ga-main-logo{flex:0 0 210px !important;}
  .ga-main-nav{flex:1 1 auto !important;min-width:0 !important;height:64px !important;}
  .ga-main-actions.ga-guest-actions{
    order:4 !important;
    flex:0 0 100% !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    box-sizing:border-box !important;
  }
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    min-height:48px !important;
  }
  .ga-main-actions .ga-guest-label{
    font-size:12px !important;
    letter-spacing:.05em !important;
  }
  .ga-main-actions .ga-guest-action-group > a{font-size:13px !important;}
}
@media(min-width:821px) and (max-width:1050px){
  .ga-main-logo{flex-basis:180px !important;}
  .ga-main-logo img{width:170px !important;}
  .ga-main-nav>a{padding-left:9px !important;padding-right:9px !important;font-size:12px !important;}
}

/* V46K — desktop/medium guest-auth header stability
   The V46J two-row header could retain the original fixed 76px mainbar
   height while wrapping, causing the authentication row to overflow into
   the hero and collapse/truncate at tablet-sized desktop viewports.
   These rules make the header height follow its wrapped content and give
   medium desktop widths a full row per account group. */
@media(min-width:821px){
  .ga-mainbar{height:auto !important;}
  .ga-mainbar-inner{
    height:auto !important;
    min-height:76px !important;
    align-items:center !important;
    box-sizing:border-box !important;
  }
}
@media(min-width:821px) and (max-width:1100px){
  .ga-mainbar-inner{
    align-items:center !important;
  }
  .ga-main-actions.ga-guest-actions{
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{
    width:100% !important;
  }
  .ga-main-actions .ga-guest-label{
    font-size:12px !important;
    letter-spacing:.04em !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .ga-main-actions .ga-guest-action-group > a{
    font-size:13px !important;
  }
}
@media(min-width:1101px){
  .ga-main-actions.ga-guest-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
}

/* V46L — restore the public desktop header to a single aligned row.
   Home/Restaurants/Deals/Cuisines/Events & Catering and both account groups
   share the same horizontal header row. Account labels are never ellipsized. */
@media(min-width:1101px){
  .ga-mainbar{height:76px !important;}
  .ga-mainbar-inner{
    height:76px !important;
    min-height:76px !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:14px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .ga-main-logo{
    flex:0 0 185px !important;
    min-width:185px !important;
  }
  .ga-main-logo img{width:175px !important;max-width:175px !important;}
  .ga-main-nav{
    order:0 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    height:76px !important;
    overflow:visible !important;
    justify-content:center !important;
    gap:0 !important;
  }
  .ga-main-nav>a{
    flex:0 0 auto !important;
    padding:0 8px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }
  .ga-main-actions.ga-guest-actions{
    order:0 !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    gap:7px !important;
    flex-wrap:nowrap !important;
  }
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{
    width:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:max-content 56px 12px 56px !important;
    align-items:center !important;
    padding:6px 7px !important;
    gap:0 !important;
    white-space:nowrap !important;
  }
  .ga-main-actions .ga-guest-action-group .ga-guest-label{
    display:block !important;
    grid-column:1 !important;
    max-width:none !important;
    min-width:0 !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:9px !important;
    letter-spacing:.035em !important;
  }
  .ga-main-actions .ga-guest-action-group > a{
    font-size:11px !important;
    line-height:1.2 !important;
  }
  .ga-main-actions .ga-guest-action-group > a:nth-of-type(1){grid-column:2 !important;}
  .ga-main-actions .ga-guest-action-group > span[aria-hidden="true"]{grid-column:3 !important;}
  .ga-main-actions .ga-guest-action-group > a:nth-of-type(2){grid-column:4 !important;}
  .ga-main-actions .ga-provider-action-group .ga-guest-label{color:#a34a1c !important;}
}

/* V46M — simplify the public desktop header authentication groups.
   Cuisines is intentionally omitted from the primary navigation because the
   cuisine strip is already displayed directly below the header. Keep both
   account groups on one row with fully visible labels and both actions. */
@media(min-width:1101px){
  .ga-mainbar-inner{gap:10px !important;}
  .ga-main-nav{gap:0 !important;}
  .ga-main-nav>a{padding-left:7px !important;padding-right:7px !important;font-size:12.5px !important;}
  .ga-main-actions.ga-guest-actions{gap:6px !important;flex:0 0 auto !important;}
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    padding:6px 8px !important;
    gap:7px !important;
    white-space:nowrap !important;
  }
  .ga-main-actions .ga-guest-action-group .ga-guest-label{
    display:inline !important;
    max-width:none !important;
    min-width:0 !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:9px !important;
    letter-spacing:.025em !important;
  }
  .ga-main-actions .ga-guest-action-group > a{
    font-size:11px !important;
    line-height:1.2 !important;
    flex:0 0 auto !important;
  }
  .ga-main-actions .ga-guest-action-group > span[aria-hidden="true"]{
    flex:0 0 auto !important;
  }
}

/* At narrower desktop widths, keep the navigation and authentication usable
   without forcing the account labels into an overlapping row. */
@media(min-width:821px) and (max-width:1100px){
  .ga-mainbar{height:auto !important;}
  .ga-mainbar-inner{height:auto !important;min-height:76px !important;flex-wrap:wrap !important;align-items:center !important;padding:8px 0 !important;}
  .ga-main-logo{flex:0 0 175px !important;min-width:175px !important;}
  .ga-main-logo img{width:165px !important;max-width:165px !important;}
  .ga-main-nav{order:0 !important;flex:1 1 auto !important;height:60px !important;overflow-x:auto !important;overflow-y:hidden !important;justify-content:flex-start !important;}
  .ga-main-nav>a{padding:0 7px !important;font-size:12px !important;white-space:nowrap !important;}
  .ga-main-actions.ga-guest-actions{order:4 !important;flex:0 0 100% !important;width:100% !important;max-width:none !important;display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;gap:8px !important;}
  .ga-main-actions .ga-guest-action-group{width:100% !important;min-height:44px !important;}
  .ga-main-actions .ga-guest-label{font-size:11px !important;overflow:visible !important;text-overflow:clip !important;}
  .ga-main-actions .ga-guest-action-group>a{font-size:12px !important;}
}

/* V46N — final public-header fit correction.
   Keep primary navigation and both guest-auth groups on the same desktop row
   without allowing long provider text to collide with Sign In/Sign Up.
   The layout compresses typography/spacing before it ever overlaps. */
@media (min-width:821px){
  .ga-mainbar{height:76px !important;overflow:visible !important;}
  .ga-mainbar-inner{
    height:76px !important;
    min-height:76px !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:8px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    overflow:visible !important;
  }
  .ga-main-logo{
    flex:0 0 150px !important;
    min-width:150px !important;
    width:150px !important;
  }
  .ga-main-logo img{width:150px !important;max-width:150px !important;}
  .ga-main-logo small{display:none !important;}
  .ga-main-nav{
    order:0 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    height:76px !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    overflow:visible !important;
  }
  .ga-main-nav>a{
    flex:0 0 auto !important;
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:11.5px !important;
    white-space:nowrap !important;
  }
  .ga-main-actions.ga-guest-actions{
    order:0 !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
    margin-left:auto !important;
    overflow:visible !important;
  }
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    padding:5px 6px !important;
    gap:5px !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  .ga-main-actions .ga-guest-action-group .ga-guest-label,
  .ga-main-actions .ga-provider-action-group .ga-guest-label{
    display:inline-block !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:8.5px !important;
    letter-spacing:.015em !important;
    line-height:1.15 !important;
    margin:0 !important;
  }
  .ga-main-actions .ga-guest-action-group>a,
  .ga-main-actions .ga-provider-action-group>a{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  .ga-main-actions .ga-guest-action-group>span[aria-hidden="true"],
  .ga-main-actions .ga-provider-action-group>span[aria-hidden="true"]{
    flex:0 0 auto !important;
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

@media (min-width:821px) and (max-width:980px){
  .ga-mainbar-inner{gap:5px !important;}
  .ga-main-logo{flex-basis:132px !important;min-width:132px !important;width:132px !important;}
  .ga-main-logo img{width:132px !important;max-width:132px !important;}
  .ga-main-nav>a{padding-left:4px !important;padding-right:4px !important;font-size:10.5px !important;}
  .ga-main-actions.ga-guest-actions{gap:3px !important;}
  .ga-main-actions .ga-guest-action-group,
  .ga-main-actions .ga-provider-action-group{padding-left:4px !important;padding-right:4px !important;gap:3px !important;}
  .ga-main-actions .ga-guest-action-group .ga-guest-label,
  .ga-main-actions .ga-provider-action-group .ga-guest-label{font-size:7.5px !important;}
  .ga-main-actions .ga-guest-action-group>a,
  .ga-main-actions .ga-provider-action-group>a{font-size:9.5px !important;}
}

/* Keep the hero strictly below the header; guest-auth panels must never
   visually occupy hero space on desktop. */
@media (min-width:821px){
  .ga-site-header{position:relative !important;z-index:120 !important;}
  .ga-market-hero{position:relative !important;z-index:1 !important;}
}

/* V46O — provider dashboard usability overhaul */
.ga-provider-header{background:#fff;color:#172033;border-bottom:1px solid #e7ebf0;box-shadow:0 2px 14px rgba(16,24,40,.06);position:relative;z-index:150}
.ga-provider-header-main{min-height:72px;display:flex;align-items:center;gap:18px;position:relative}
.ga-provider-logo{display:flex;align-items:center;flex:0 0 190px;min-width:190px;text-decoration:none!important}
.ga-provider-logo img{display:block;width:190px;height:auto;max-width:100%;object-fit:contain;filter:none}
.ga-provider-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:1;min-width:0;white-space:nowrap;overflow-x:auto;scrollbar-width:none}.ga-provider-nav::-webkit-scrollbar{display:none}
.ga-provider-nav>a{color:#172033;font-size:12px;font-weight:750;text-decoration:none;padding:8px 8px;border-radius:9px}.ga-provider-nav>a.active,.ga-provider-nav>a:hover{background:#e8f6f3;color:#087f73;text-decoration:none}
.ga-provider-nav>a:hover{color:var(--ds-orange);text-decoration:none}
.ga-provider-nav .ga-provider-home-link{color:var(--ds-orange);font-weight:900}
.ga-provider-logout{padding:6px 12px!important;font-size:12px!important}
.ga-provider-subnav{display:none!important}
.ga-provider-subnav .container{display:flex;align-items:center;gap:4px;overflow-x:auto;white-space:nowrap;padding-top:7px;padding-bottom:7px;scrollbar-width:none}
.ga-provider-subnav .container::-webkit-scrollbar{display:none}
.ga-provider-subnav a{padding:7px 10px;border-radius:8px;color:#344054;font-size:12px;font-weight:700;text-decoration:none}
.ga-provider-subnav a:hover,.ga-provider-subnav a.active{background:#e8f6f3;color:#087f73}
.ga-dashboard-page{margin-top:28px}
.ga-dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px}
.ga-dashboard-welcome h1{margin:5px 0 5px;font-size:clamp(28px,4vw,40px);letter-spacing:-.035em;color:var(--ga-ink)}
.ga-dashboard-welcome p{margin:0;color:var(--ga-muted);font-size:13px}
.ga-dashboard-primary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ga-dashboard-alert{padding:13px 16px;border-radius:14px;background:#fff7e8;border:1px solid #f2d29c;color:#7a4a0f;margin-bottom:18px}
.ga-live-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.ga-live-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:11px;row-gap:6px;background:#fff;border:1px solid var(--ga-line);border-radius:16px;padding:14px;box-shadow:var(--ga-shadow);min-width:0}
.ga-live-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef8f6;grid-row:1/3;font-size:18px}
.ga-live-card strong{display:block;color:var(--ga-ink);font-size:20px;line-height:1.1}
.ga-live-card div span{display:block;color:var(--ga-muted);font-size:11px;margin-top:3px}
.ga-live-card em{display:block;font-size:10px;font-style:normal;margin-top:3px;color:#667085}
.ga-live-card em.positive{color:#087443}.ga-live-card em.negative{color:#b42318}
.ga-live-card>a{grid-column:2;color:#087f73;font-size:11px;font-weight:800;text-decoration:none}
.ga-order-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.15fr);gap:20px;align-items:center;background:linear-gradient(135deg,#f7fbfb,#fff);border:1px solid #dce9e7;border-radius:18px;padding:18px;margin-bottom:24px}
.ga-section-kicker{font-size:10px;letter-spacing:.14em;font-weight:900;color:#0b8f82}
.ga-order-controls h2,.ga-section-heading h2{margin:4px 0 5px;font-size:20px;color:var(--ga-ink)}
.ga-order-controls p{margin:0;color:var(--ga-muted);font-size:12px;line-height:1.55}
.ga-order-toggle-list{display:grid;gap:8px}
.ga-order-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid var(--ga-line)}
.ga-order-toggle>div{min-width:0}.ga-order-toggle strong{display:block;font-size:13px;color:var(--ga-ink)}.ga-order-toggle span{display:block;font-size:11px;color:var(--ga-muted);margin-top:2px}
.ga-order-toggle.on{border-left:4px solid #0b8f62}.ga-order-toggle.off{border-left:4px solid #98a2b3}
.ga-dashboard-section{margin-top:22px}
.ga-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.ga-dashboard-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}
.ga-dashboard-tile small{display:block;margin-top:10px;color:#667085;font-size:10px;line-height:1.45;padding-top:8px;border-top:1px dashed #e4e7ec}
.ga-dashboard-bottom-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:18px}
.ga-info-card{background:#fff;border:1px solid var(--ga-line);border-radius:18px;padding:18px;box-shadow:var(--ga-shadow)}
.ga-info-card h3{margin:4px 0 6px;color:var(--ga-ink)}
.ga-info-card p{color:var(--ga-muted);font-size:12px;line-height:1.55}
.ga-public-url{word-break:break-all;background:#f8fafc;border:1px solid #e4e7ec;border-radius:8px;padding:9px;font-size:11px!important;color:#344054!important}
.ga-action-row{display:flex;gap:8px;flex-wrap:wrap}
.ga-profile-location-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.ga-profile-location-tools input{width:100%;min-width:0}
.ga-location-suggestions{position:relative;z-index:20;display:grid;gap:3px;margin-top:5px}
.ga-location-suggestions button{display:block;text-align:left;background:#fff;border:1px solid #e4e7ec;padding:9px 11px;border-radius:8px;color:#344054;cursor:pointer;font-size:12px}
.ga-location-suggestions button:hover{background:#f5f8fb}
.ga-profile-map{height:300px;margin-top:9px;border:1px solid #dfe5ec;border-radius:12px;overflow:hidden;background:#eef2f5}
.ga-report-nav{align-items:center}
.ga-report-nav .ga-report-home-link{background:#e8f6f3;color:#087f73;font-weight:850}

@media(max-width:1100px){
  .ga-provider-logo{flex-basis:165px;min-width:165px}.ga-provider-logo img{width:165px}
  .ga-provider-nav{gap:2px}.ga-provider-nav>a{font-size:11px;padding-left:6px;padding-right:6px}
  .ga-live-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ga-order-controls{grid-template-columns:1fr}
}
@media(max-width:820px){
  .ga-provider-header-main{min-height:68px}.ga-provider-nav{display:none}.ga-provider-header-main .ga-mobile-menu-toggle{display:block;margin-left:auto}
  .ga-provider-header-main{padding-top:8px;padding-bottom:8px}.ga-provider-logo{flex-basis:165px;min-width:165px}.ga-provider-logo img{width:165px}
  .ga-provider-nav.is-open{display:flex;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e4e7ec;box-shadow:0 14px 28px rgba(16,24,40,.12);padding:12px 16px;flex-direction:column;align-items:stretch;gap:0;white-space:normal}
  .ga-provider-nav.is-open>a,.ga-provider-nav.is-open form{padding:10px 6px;border-bottom:1px solid #f0f2f5}.ga-provider-nav.is-open .ga-provider-logout{width:100%}
  .ga-provider-subnav .container{padding-left:12px;padding-right:12px}
  .ga-dashboard-welcome{align-items:flex-start;flex-direction:column}.ga-dashboard-primary-actions{justify-content:flex-start}
  .ga-dashboard-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-dashboard-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .ga-live-strip{grid-template-columns:1fr}.ga-order-toggle{align-items:flex-start;flex-direction:column}.ga-order-toggle form,.ga-order-toggle button{width:100%}
  .ga-dashboard-grid-primary{grid-template-columns:1fr}.ga-section-heading{align-items:flex-start;flex-direction:column}.ga-profile-location-tools{grid-template-columns:1fr}.ga-profile-map{height:260px}
}

/* V46P dashboard usability pass */
.ga-dashboard-identity{display:flex;align-items:center;gap:14px;min-width:0}.ga-dashboard-restaurant-logo{width:64px;height:64px;object-fit:contain;border-radius:14px;border:1px solid var(--ga-line);background:#fff;padding:6px}.ga-new-orders-panel{background:#fff;border:1px solid #e1e8ee;border-radius:18px;padding:18px;margin-bottom:24px;box-shadow:var(--ga-shadow)}.ga-new-orders-panel h2{margin:4px 0 0;color:var(--ga-ink);font-size:20px}.ga-pending-order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ga-pending-order-card{border:1px solid var(--ga-line);border-radius:14px;padding:14px;background:#fbfdfd;min-width:0}.ga-pending-order-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ga-pending-order-top strong{font-size:15px}.ga-pending-order-top .badge{margin-left:6px}.ga-driver-suggestion{margin-top:10px;padding:9px 10px;border-radius:10px;background:#eff9f5;color:#126b54;font-size:11px;line-height:1.45}.ga-driver-suggestion span{display:block;color:#667085;margin-top:2px}.ga-driver-suggestion.muted{background:#f6f7f9;color:#667085}.ga-empty-inline{padding:14px;border:1px dashed #d0d8df;border-radius:12px;color:#667085;font-size:12px;background:#fbfcfd}.ga-review-summary-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.ga-review-score{display:flex;flex-direction:column;justify-content:center}.ga-review-score strong{font-size:34px;color:var(--ga-ink)}.ga-review-score span{font-weight:800;color:#344054}.ga-review-score small{margin-top:6px;color:#667085;line-height:1.5}.ga-review-list{display:grid;gap:8px}.ga-review-item{background:#fff;border:1px solid var(--ga-line);border-radius:14px;padding:12px}.ga-review-item>div{display:flex;justify-content:space-between;gap:8px}.ga-review-item p{margin:6px 0;color:#475467;font-size:12px;line-height:1.45}.ga-review-item small{color:#98a2b3}.ga-stars{color:#f59e0b;letter-spacing:1px}.ga-order-secondary-actions{display:flex;gap:8px;flex-wrap:wrap}.ga-order-secondary-actions .btn{flex:0 0 auto}
@media(max-width:1100px){.ga-pending-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-review-summary-grid{grid-template-columns:1fr}.ga-dashboard-restaurant-logo{width:56px;height:56px}}
@media(max-width:620px){.ga-pending-order-grid{grid-template-columns:1fr}.ga-dashboard-identity{align-items:flex-start}.ga-dashboard-restaurant-logo{width:52px;height:52px}.ga-order-secondary-actions .btn{width:100%}}
/* Keep menu-table action controls readable instead of letting native file inputs and buttons collide. */
.ga-menu-actions{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;min-width:300px}.ga-menu-actions form{display:flex;align-items:center;gap:6px;margin:0}.ga-menu-actions input[type=file]{max-width:150px;font-size:11px}.ga-menu-actions .btn{white-space:nowrap}

/* V46Q — route scheduling + dashboard mobile hardening */
.ga-route-explainer{margin-bottom:16px;background:#f8fbfb}.ga-route-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;font-size:12px;font-weight:800;color:#087f73}.ga-route-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.ga-route-form>div{min-width:0}.ga-route-form label{display:block;font-size:11px;font-weight:800;color:#475467;margin-bottom:5px}.ga-route-form input,.ga-route-form select,.ga-route-form textarea{box-sizing:border-box;width:100%;min-width:0}.ga-route-wide{grid-column:1/-1}.ga-route-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ga-route-table{min-width:980px;width:100%}.ga-demo-badge{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#eef8f6;color:#087f73;font-weight:800}.ga-route-table .ga-action-row{min-width:150px}.ga-route-table form{margin:0}
@media(max-width:1100px){.ga-route-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ga-provider-header-main{position:relative}.ga-provider-logo{flex-basis:150px;min-width:150px}.ga-provider-logo img{width:150px}.ga-dashboard-page{margin-top:18px}.ga-live-strip{grid-template-columns:1fr 1fr}.ga-new-orders-panel,.ga-info-card,.ga-order-controls{padding:14px}.ga-pending-order-top{flex-direction:column}.ga-action-row .btn,.ga-action-row form{width:100%}.ga-action-row form .btn{width:100%}.ga-route-form{grid-template-columns:1fr}.ga-route-wide{grid-column:auto}.ga-route-steps{align-items:flex-start;flex-direction:column;gap:4px}.ga-route-steps span:nth-child(even){display:none}.ga-route-table{min-width:900px}.ga-section-heading .btn{width:100%}.ga-dashboard-identity{width:100%}}
@media(max-width:480px){.ga-live-strip{grid-template-columns:1fr}.ga-dashboard-welcome h1{font-size:28px}.ga-dashboard-restaurant-logo{width:48px;height:48px}.ga-dashboard-primary-actions{width:100%}.ga-dashboard-primary-actions .btn{width:100%}}

/* V47 Growth Centre */
.ga-subscription-plans{margin-top:6px}.ga-subscription-plan-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content minmax(190px,max-content);align-items:center;gap:18px!important;padding:14px 0!important}.ga-subscription-plan-info{min-width:0}.ga-subscription-plan-info b{display:block}.ga-subscription-plan-info small{display:block}.ga-subscription-plan-price{justify-self:end;white-space:nowrap;min-width:112px;text-align:right;font-variant-numeric:tabular-nums}.ga-subscription-plan-form{margin:0!important;display:flex;justify-content:flex-end}.ga-subscription-plan-form .btn{white-space:nowrap;min-width:190px;text-align:center}.ga-subscription-plan-form .btn:disabled{opacity:.7;cursor:wait}@media(max-width:700px){.ga-subscription-plan-row{grid-template-columns:minmax(0,1fr) max-content;gap:10px!important}.ga-subscription-plan-form{grid-column:1/-1;justify-content:stretch}.ga-subscription-plan-form .btn{width:100%;min-width:0}.ga-subscription-plan-price{min-width:96px}}
.ga-growth-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.ga-growth-kpi{background:var(--ds-surface,#fff);border:1px solid var(--ds-border,#e5e7eb);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.ga-growth-kpi span,.ga-growth-kpi small{display:block;color:var(--ds-text-muted,#64748b)}.ga-growth-kpi strong{display:block;font-size:28px;line-height:1.15;margin:8px 0}.ga-growth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ga-growth-card{background:var(--ds-surface,#fff);border:1px solid var(--ds-border,#e5e7eb);border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.ga-growth-card h2{margin:5px 0 14px}.ga-growth-list>div,.ga-growth-table>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(100,116,139,.12)}.ga-growth-list>div:last-child,.ga-growth-table>div:last-child{border-bottom:0}.ga-growth-table small{display:block;color:var(--ds-text-muted,#64748b);font-size:12px;margin-top:3px}.ga-growth-ai{margin-top:16px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#fff7ed,#f0fdf4);border:1px solid rgba(249,115,22,.2);display:flex;align-items:center;justify-content:space-between;gap:20px}.ga-growth-ai h2{margin:4px 0 6px}@media(max-width:900px){.ga-growth-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-growth-grid{grid-template-columns:1fr}}@media(max-width:600px){.ga-growth-kpis{grid-template-columns:1fr 1fr}.ga-growth-kpi strong{font-size:22px}.ga-growth-card{padding:16px}.ga-growth-ai{display:block}.ga-growth-ai .ga-action-row{margin-top:14px;display:flex;flex-wrap:wrap}.ga-growth-ai .btn{flex:1 1 160px}}
.ga-growth-highlight{border-color:rgba(249,115,22,.28)!important;background:linear-gradient(135deg,rgba(255,247,237,.92),rgba(240,253,244,.92))!important}

/* V47B superior provider command centre */
.ga-command-centre{margin:0 0 22px;border:1px solid var(--ga-line,#e5e7eb);border-radius:24px;padding:20px;background:linear-gradient(145deg,#ffffff,#f7fbfa);box-shadow:var(--ga-shadow,0 10px 30px rgba(16,24,40,.06))}
.ga-command-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}.ga-command-head h2{margin:4px 0 5px}.ga-command-head p{margin:0}.ga-command-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.ga-command-card{background:#fff;border:1px solid var(--ga-line,#e5e7eb);border-radius:18px;padding:17px;min-width:0}.ga-command-performance{background:linear-gradient(135deg,#f7fffc,#fff7ed);border-color:rgba(15,155,142,.2)}.ga-command-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.1em}.ga-command-card-top small{font-size:11px;letter-spacing:0;color:var(--ga-muted,#64748b);font-weight:600}.ga-command-main-number{font-size:30px;font-weight:900;letter-spacing:-.03em;margin-top:15px}.ga-command-muted{font-size:12px;color:var(--ga-muted,#64748b);margin-top:3px}.ga-command-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.ga-command-metrics>div{padding:10px;border-radius:13px;background:rgba(255,255,255,.75);border:1px solid rgba(100,116,139,.12)}.ga-command-metrics strong,.ga-command-metrics span,.ga-command-metrics em{display:block}.ga-command-metrics strong{font-size:17px}.ga-command-metrics span{font-size:11px;color:var(--ga-muted,#64748b);margin-top:2px}.ga-command-metrics em{font-style:normal;font-size:11px;font-weight:800;margin-top:5px}.ga-command-action{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid rgba(100,116,139,.12);color:var(--ga-ink,#172033);text-decoration:none}.ga-command-action:last-child{border-bottom:0}.ga-command-action strong{font-size:20px}.ga-command-action span{font-size:12px;color:var(--ga-muted,#64748b)}.ga-command-action b{font-size:11px;color:var(--ga-primary,#0f9b8e)}.ga-command-event-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid rgba(100,116,139,.12)}.ga-command-event-row:last-of-type{border-bottom:0}.ga-command-event-row strong{font-size:20px}.ga-command-event-row span{font-size:12px;color:var(--ga-muted,#64748b)}.ga-command-event-row a{font-size:11px;font-weight:800;color:var(--ga-primary,#0f9b8e)}.ga-command-ai-note{margin-top:12px;padding:10px;border-radius:12px;background:#f8fafc;font-size:11px;color:#475569;line-height:1.45}.ga-command-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ga-command-quick-actions a{padding:9px 12px;border:1px solid var(--ga-line,#e5e7eb);border-radius:999px;background:#fff;color:var(--ga-ink,#172033);font-size:12px;font-weight:800;text-decoration:none}.ga-command-quick-actions a:hover{border-color:#b9ddd6;background:#f5fffc;text-decoration:none}
@media(max-width:1050px){.ga-command-grid{grid-template-columns:1fr 1fr}.ga-command-performance{grid-column:1/-1}}@media(max-width:640px){.ga-command-centre{padding:15px;border-radius:19px}.ga-command-head{align-items:flex-start;flex-direction:column}.ga-command-head .btn{width:100%}.ga-command-grid{grid-template-columns:1fr}.ga-command-performance{grid-column:auto}.ga-command-main-number{font-size:27px}.ga-command-metrics{grid-template-columns:1fr 1fr}.ga-command-card-top{align-items:flex-start;flex-direction:column}.ga-command-quick-actions a{flex:1 1 calc(50% - 8px);text-align:center}}


/* V47C — mobile-first customer + provider experience */
.ga-mobile-bottom-nav{display:none}
.ga-mobile-category-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:20;padding:10px 2px;margin:14px 0 4px;background:color-mix(in srgb,var(--rp-background) 94%,transparent);backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch}
.ga-mobile-category-rail::-webkit-scrollbar{display:none}.ga-mobile-category-rail a{flex:0 0 auto;padding:9px 14px;border:1px solid rgba(127,127,127,.25);border-radius:999px;background:var(--rp-surface);color:var(--rp-text);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.ga-mobile-category-rail a:active{transform:scale(.98)}
.ga-menu-category-heading{scroll-margin-top:70px}.ga-menu-item-card{cursor:pointer}.ga-mobile-sticky-cart{position:fixed;left:14px;right:14px;bottom:14px;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-radius:18px;background:rgba(16,24,40,.96);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.ga-mobile-sticky-cart div{display:flex;flex-direction:column;min-width:0}.ga-mobile-sticky-cart strong{font-size:14px}.ga-mobile-sticky-cart span{font-size:12px;opacity:.78;margin-top:2px}.ga-mobile-sticky-cart .btn{white-space:nowrap}
.ga-kitchen-mode{margin:20px 0}.ga-kitchen-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:14px}.ga-kitchen-head h2{margin:4px 0}.ga-kitchen-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ga-kitchen-column{background:#f7f9fb;border:1px solid var(--ga-line,#e5e7eb);border-radius:18px;padding:12px;min-height:300px}.ga-kitchen-column h3{font-size:13px;letter-spacing:.08em;margin:2px 2px 10px}.ga-kitchen-order{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--ga-line,#e5e7eb);border-radius:14px;padding:14px;margin-bottom:9px;color:var(--ga-ink,#172033);text-decoration:none;box-shadow:0 5px 18px rgba(16,24,40,.05)}.ga-kitchen-order strong{font-size:18px}.ga-kitchen-order span{font-size:13px}.ga-kitchen-order b{font-size:11px;color:#087f73}.ga-kitchen-order small{font-size:11px;color:#667085}.ga-kitchen-empty{padding:20px 10px;color:#98a2b3;font-size:12px;text-align:center;border:1px dashed #d0d8df;border-radius:12px}
@media(max-width:760px){
  body{padding-bottom:76px}.ga-mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:950;display:grid;grid-template-columns:repeat(5,1fr);height:64px;background:rgba(255,255,255,.97);border-top:1px solid #e6e9ee;box-shadow:0 -8px 28px rgba(16,24,40,.08);padding-bottom:env(safe-area-inset-bottom);backdrop-filter:blur(14px)}.ga-mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#475467;text-decoration:none;font-size:19px;min-width:0}.ga-mobile-bottom-nav a span{font-size:10px;font-weight:800;line-height:1}.ga-mobile-bottom-nav a:active{background:#f6f8fa}.ga-provider-bottom-nav a[href$="/dashboard"],.ga-customer-bottom-nav a[href$="/"]{color:#0b7f73}
  .ga-mobile-category-rail{top:0;margin-left:-6px;margin-right:-6px;padding-left:6px;padding-right:6px}.ga-mobile-sticky-cart{bottom:76px}.restaurant-page{padding-bottom:105px}.restaurant-menu-tools{position:sticky;top:52px;z-index:19;padding:8px 0;background:color-mix(in srgb,var(--rp-background) 94%,transparent);backdrop-filter:blur(8px)}.restaurant-menu-tools input{min-height:52px;font-size:16px}.restaurant-card{padding:12px!important;border-radius:18px!important}.restaurant-card img{height:150px!important}.restaurant-card h3{font-size:17px;line-height:1.3;margin-top:4px}.restaurant-card .meta{font-size:13px;line-height:1.45}.restaurant-card strong{font-size:15px}.ga-kitchen-head{align-items:flex-start;flex-direction:column}.ga-kitchen-head .btn{width:100%}.ga-kitchen-columns{grid-template-columns:1fr 1fr;overflow-x:visible}.ga-kitchen-column{min-height:240px}.ga-kitchen-order{padding:12px}.ga-command-centre{margin-bottom:16px}.ga-command-card{padding:15px}.ga-live-strip{gap:8px}.ga-dashboard-grid-primary{grid-template-columns:1fr!important}
}
@media(max-width:460px){.ga-kitchen-columns{grid-template-columns:1fr}.ga-mobile-bottom-nav a{font-size:18px}.ga-mobile-bottom-nav a span{font-size:9px}.ga-mobile-sticky-cart{left:10px;right:10px}.ga-mobile-sticky-cart .btn{padding:9px 12px}.restaurant-page .restaurant-hero-content{padding:16px}.restaurant-page .restaurant-logo{width:64px;height:64px}.restaurant-page .restaurant-title{font-size:25px!important}.ga-mobile-item-panel{padding:14px 14px calc(28px + env(safe-area-inset-bottom))}.ga-mobile-item-panel .btn{min-height:46px}.ga-kitchen-column{min-height:180px}}

@media(max-width:760px){.ga-place-order{position:sticky;bottom:76px;z-index:800;box-shadow:0 10px 28px rgba(16,24,40,.18);min-height:52px;font-size:16px}.ga-checkout-shell{padding-bottom:24px}.ga-checkout-card{border-radius:18px}.ga-checkout-select,.ga-payment-option,input[type=text],input[type=time],select{font-size:16px}}


/* ================================================================
   V47E — REGRESSION-PROOF CUSTOMER UX OVERRIDES
   This block is intentionally last so earlier responsive patches cannot
   silently shrink or hide the public customer navigation and restaurant menu.
   ================================================================ */
.ga-mainbar-inner{gap:24px!important;}
.ga-main-logo{flex:0 0 205px!important;min-width:205px!important;}
.ga-main-logo img{width:205px!important;max-width:205px!important;}
.ga-main-nav{gap:4px!important;overflow:visible!important;}
.ga-main-nav>a{padding:0 12px!important;font-size:15px!important;font-weight:800!important;white-space:nowrap!important;line-height:1!important;}
.ga-main-actions.ga-guest-actions{gap:9px!important;}
.ga-guest-action-group{padding:8px 10px!important;gap:7px!important;}
.ga-guest-action-group .ga-guest-label{font-size:10px!important;}
.ga-guest-action-group a{font-size:13px!important;line-height:1.25!important;}
@media(max-width:1180px) and (min-width:901px){
  .ga-mainbar-inner{gap:14px!important;}
  .ga-main-logo{flex-basis:180px!important;min-width:180px!important;}
  .ga-main-logo img{width:180px!important;max-width:180px!important;}
  .ga-main-nav{overflow-x:auto!important;}
  .ga-main-nav>a{padding:0 9px!important;font-size:14px!important;}
  .ga-guest-action-group a{font-size:12px!important;}
}
@media(max-width:900px){
  .ga-mainbar-inner{gap:8px!important;}
  .ga-main-logo{flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 120px)!important;}
  .ga-main-logo img{width:165px!important;max-width:165px!important;}
  .ga-mobile-menu-toggle,.ga-mainbar .ga-mobile-menu-toggle{display:block!important;}
  .ga-main-nav.is-open{display:flex!important;}
  .ga-main-nav>a{font-size:16px!important;padding:13px 14px!important;min-height:48px!important;}
  .ga-mobile-auth-group strong{font-size:13px!important;}
  .ga-mobile-auth-group a{font-size:14px!important;}
  .ga-main-actions.ga-guest-actions{display:none!important;}
}

/* Public restaurant menu: photo-first cards with reliable readable text. */
.restaurant-page .card-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;}
.restaurant-page .ga-menu-item-card{color:var(--rp-readable-text)!important;text-decoration:none!important;}
.restaurant-page .ga-menu-item-card h3{color:var(--rp-readable-text)!important;}
.restaurant-page .ga-menu-item-card .meta{color:var(--rp-readable-muted)!important;}
.restaurant-page .ga-menu-card-price{margin-top:12px;}
@media(max-width:900px){.restaurant-page .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}}
@media(max-width:560px){.restaurant-page .card-grid{grid-template-columns:1fr;gap:14px;}.restaurant-page .ga-menu-card-media{height:185px;}}

/* Location suggestions must always sit above the map and accept touch/pointer input. */
.ga-location-results,.ga-home-location-results{position:relative!important;z-index:500!important;pointer-events:auto!important;}
.ga-location-result,.ga-home-location-result{position:relative!important;z-index:501!important;display:block!important;pointer-events:auto!important;touch-action:manipulation!important;min-height:48px!important;}
.ga-home-location-modal{z-index:10000!important;}
.ga-home-location-panel{position:relative!important;z-index:10001!important;}
.ga-location-map{position:relative!important;z-index:1!important;}

/* Do not expose an Open Now discovery control; operating hours/status are
   already displayed on provider cards and pages. */
.discovery-filter-drawer .filter-chip[name="open"],
.discovery-filter-drawer input[name="open"]{display:none!important;}

/* V47G — interaction/runtime hardening. Keep the customer header readable
   on normal laptop/desktop widths instead of letting earlier responsive
   overrides shrink the primary navigation/auth links. */
@media(min-width:1101px){
  .ga-main-nav>a{font-size:16px!important;font-weight:800!important;padding-left:12px!important;padding-right:12px!important;}
  .ga-guest-action-group a{font-size:13px!important;font-weight:800!important;}
  .ga-guest-action-group .ga-guest-label{font-size:10px!important;font-weight:850!important;}
}
@media(min-width:761px) and (max-width:1100px){
  .ga-main-nav>a{font-size:15px!important;font-weight:800!important;padding-left:10px!important;padding-right:10px!important;}
  .ga-guest-action-group a{font-size:12px!important;font-weight:800!important;}
}
.ga-main-nav>a.active{color:#ff6b00!important;}
.ga-main-nav>a.active:after{display:block!important;}

/* Location suggestions must always sit above map/touch layers. */
.ga-location-results{position:relative!important;z-index:40!important;pointer-events:auto!important;}
.ga-location-result{position:relative!important;z-index:41!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(15,118,110,.12);}
.ga-location-map{position:relative!important;z-index:1!important;}

/* V47F — restore yesterday's customer-facing interaction contract.
   These are deliberately last so legacy responsive rules cannot regress it. */
.ga-main-nav>a.active{color:#ff6b00!important}
.ga-main-nav>a.active:after{display:block!important}
.discovery-tools .search-large{width:100%;min-width:0}
.discovery-tools .search-large input{flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:16px!important;color:#172033!important}
.discovery-tools .search-large input::placeholder{color:#667085!important;opacity:1!important;white-space:nowrap}

/* Restaurant discovery cards: compact marketplace proportions instead of oversized tiles. */
.restaurant-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.restaurant-media{height:178px!important}
.restaurant-body{padding:14px!important}
.restaurant-title h3{font-size:17px!important;line-height:1.3!important}
.restaurant-meta{font-size:12px!important}
@media(max-width:1100px){.restaurant-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.restaurant-media{height:155px!important}.restaurant-body{padding:12px!important}.restaurant-title h3{font-size:16px!important}}
@media(max-width:520px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.restaurant-media{height:135px!important}.restaurant-body{padding:10px!important}.restaurant-title{align-items:flex-start}.restaurant-title h3{font-size:15px!important}.rating{font-size:10px!important;padding:3px 5px!important}.restaurant-meta{font-size:11px!important;gap:3px!important}.delivery-ok{font-size:11px!important}.status-dot,.diet-badge{padding:5px 7px!important;font-size:10px!important}}

/* Restaurant menu cards: compact, photo-first and consistent on desktop/mobile. */
.restaurant-page .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.restaurant-page .ga-menu-card-media{height:150px!important}
.restaurant-page .ga-menu-card-body{padding:13px!important}
.restaurant-page .ga-menu-card-body h3{font-size:17px!important;line-height:1.28!important;margin-bottom:5px!important}
.restaurant-page .ga-menu-card-body .meta{font-size:12px!important;line-height:1.4!important}
.restaurant-page .ga-menu-card-price strong{font-size:15px!important}
.restaurant-page .ga-quick-add{min-height:34px!important;padding:7px 11px!important;border-radius:10px!important;font-size:12px!important}
@media(max-width:1100px){.restaurant-page .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.restaurant-page .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.restaurant-page .ga-menu-card-media{height:135px!important}.restaurant-page .ga-menu-card-body{padding:11px!important}.restaurant-page .ga-menu-card-body h3{font-size:15px!important}.restaurant-page .ga-menu-card-body .meta{font-size:11px!important}.restaurant-page .ga-quick-add{min-height:32px!important;padding:6px 9px!important;font-size:11px!important}}
@media(max-width:430px){.restaurant-page .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.restaurant-page .ga-menu-card-media{height:120px!important}.restaurant-page .ga-menu-card-body{padding:9px!important}.restaurant-page .ga-menu-card-body h3{font-size:14px!important}.restaurant-page .ga-menu-card-price{gap:6px!important;flex-wrap:wrap}.restaurant-page .ga-menu-card-price strong{font-size:14px!important}.restaurant-page .ga-quick-add{width:100%;min-height:34px!important}}

/* Location search results must remain directly interactive even when map/touch layers exist. */
.ga-location-results,.ga-home-location-results{isolation:isolate!important;position:relative!important;z-index:5000!important;pointer-events:auto!important}
.ga-location-result,.ga-home-location-result{position:relative!important;z-index:5001!important;display:block!important;width:100%!important;min-height:50px!important;pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}
.ga-location-map{position:relative!important;z-index:1!important}
.ga-home-location-modal{z-index:20000!important}
.ga-home-location-backdrop{z-index:0!important}
.ga-home-location-panel{position:relative!important;z-index:1!important}

/* Quick-add dialog is a real in-page ordering surface at every viewport size. */
.ga-mobile-item-dialog[open]{z-index:30000!important}
@media(min-width:761px){
  .ga-mobile-item-dialog[open]{align-items:center!important;justify-content:center!important;background:rgba(3,10,22,.62)!important}
  .ga-mobile-item-panel{width:min(560px,calc(100% - 40px))!important;max-height:86vh!important;border-radius:24px!important;padding:22px!important}
}

.delivery-unavailable{margin-top:7px;color:#9a4d16;font-size:12px;font-weight:750;line-height:1.35;}

/* V47H — public navigation, restaurant-page and location interaction final pass. */
@media(min-width:1101px){
  .ga-main-nav>a{font-size:17px!important;font-weight:800!important;padding-left:13px!important;padding-right:13px!important}
  .ga-guest-action-group a{font-size:14px!important;font-weight:800!important}
  .ga-guest-action-group .ga-guest-label{font-size:11px!important;font-weight:850!important}
}
@media(min-width:761px) and (max-width:1100px){
  .ga-main-nav>a{font-size:16px!important;font-weight:800!important}
  .ga-guest-action-group a{font-size:13px!important;font-weight:800!important}
}
.ga-location-result,.ga-home-location-result{cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(15,118,110,.14)!important}
.ga-location-results{z-index:5000!important}
.ga-location-map{z-index:1!important}

/* Keep restaurant discovery useful even when a selected location has no delivery coverage. */
.discovery-shell .empty-discovery{min-height:220px}
.discovery-shell .modern-restaurant-card .delivery-unavailable{display:block}

/* V47H menu modal: compact, premium and usable without a page transition. */
@media(max-width:1100px){
  .ga-mobile-item-dialog[open]{align-items:flex-end!important}
  .ga-mobile-item-panel{max-height:82vh!important;padding:14px 14px 22px!important;border-radius:22px 22px 0 0!important}
  .ga-mobile-item-panel .ga-item-detail-content>img{height:180px!important;max-height:180px!important;object-fit:cover!important;border-radius:16px!important}
  .ga-mobile-item-panel .ga-item-detail-content h1{font-size:23px!important;line-height:1.15!important}
  .ga-mobile-item-panel .ga-item-detail-content .card{padding:12px!important;margin-top:10px!important}
}
@media(min-width:1101px){
  .ga-mobile-item-dialog[open]{align-items:center!important;justify-content:center!important}
  .ga-mobile-item-panel{width:min(520px,calc(100% - 40px))!important;max-height:82vh!important;border-radius:22px!important;padding:18px!important}
}

/* V47I final public-web polish: stable desktop navigation and restaurant cards.
 * Kept at the end intentionally so older accumulated responsive overrides
 * cannot regress the customer-facing hierarchy. */
@media(min-width:1101px){
  .ga-mainbar{height:84px!important}
  .ga-mainbar-inner{gap:22px!important}
  .ga-main-logo{min-width:190px!important;flex:0 0 190px!important}
  .ga-main-logo img{width:180px!important}
  .ga-main-nav{gap:4px!important;overflow:visible!important}
  .ga-main-nav>a{padding:0 13px!important;font-size:16px!important;font-weight:750!important;white-space:nowrap!important}
  .ga-main-actions{flex:0 0 auto!important}
  .ga-guest-actions{gap:9px!important;max-width:none!important}
  .ga-guest-action-group{padding:8px 11px!important;gap:7px!important}
  .ga-guest-action-group .ga-guest-label{font-size:9px!important}
  .ga-guest-action-group a{font-size:12px!important}
}
@media(min-width:821px) and (max-width:1100px){
  .ga-main-logo{min-width:170px!important}.ga-main-logo img{width:165px!important}
  .ga-main-nav>a{font-size:15px!important;padding:0 9px!important}
  .ga-guest-action-group a{font-size:11.5px!important}
}
.restaurant-page .ga-menu-card-price{min-height:38px!important}
.restaurant-page .ga-menu-card-price strong{font-family:inherit!important;font-weight:700!important}
.restaurant-page .ga-quick-add{font-weight:700!important}
.restaurant-page .ga-location-summary{background:var(--rp-surface)!important}

/* V47J — equalize marketplace action controls and selected-location UX. */
.ga-promo{align-items:stretch!important}
.ga-promo>div:first-child{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0!important}
.ga-promo>div:first-child>a{margin-top:auto!important;align-self:flex-start!important;min-width:86px!important;text-align:center!important;box-sizing:border-box!important}
.ga-promo .ga-mega-deal-status{margin-bottom:10px!important}
.ga-priority-deals-empty .ga-orange-button{min-width:96px!important;text-align:center!important;box-sizing:border-box!important}
.ga-location-selected{padding:10px 13px;border:1px solid #b9dfd8;border-radius:12px;background:#f2fbf9;color:#173b38;font-size:13px;line-height:1.4}
.ga-location-selected strong{font-weight:800}
@media(max-width:560px){.ga-promo>div:first-child>a{min-width:96px!important}.ga-location-selected{font-size:12px}}


/* V47K — mobile guest header + footer regression fix.
 * The previous accumulated mobile rules hid the desktop auth groups (correctly)
 * but could also make the hamburger visually disappear. Guest pages must retain
 * a clear mobile navigation entry point, with customer + provider auth inside it.
 * Also scope the bottom-nav body spacer to authenticated mobile users only; guests
 * do not render a bottom nav and must not get a blank strip below the footer.
 */
@media(max-width:760px){
  body:not(.ga-has-mobile-bottom-nav){padding-bottom:0 !important;}

  .ga-mainbar{height:auto !important;min-height:0 !important;background:#fff !important;}
  .ga-mainbar-inner{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:8px !important;
    min-height:68px !important;
    height:auto !important;
    padding:8px 0 !important;
    overflow:visible !important;
  }
  .ga-main-logo{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 52px) !important;
    width:auto !important;
  }
  .ga-main-logo img{
    width:150px !important;
    max-width:150px !important;
    height:auto !important;
  }

  /* Always-visible, high-contrast mobile menu control. */
  .ga-mainbar .ga-mobile-menu-toggle{
    display:flex !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    margin-left:auto !important;
    padding:8px !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:4px !important;
    border:1px solid #ff6b00 !important;
    border-radius:11px !important;
    background:#ff6b00 !important;
    box-shadow:0 4px 12px rgba(255,107,0,.20) !important;
    z-index:1105 !important;
  }
  .ga-mainbar .ga-mobile-menu-toggle span{
    display:block !important;
    width:20px !important;
    height:2px !important;
    margin:0 !important;
    border-radius:3px !important;
    background:#fff !important;
  }

  /* Keep the desktop auth groups out of the cramped header; the opened menu
     contains both account types in a single predictable section. */
  .ga-main-actions{display:none !important;}
  .ga-main-nav{
    display:none !important;
    height:auto !important;
    flex:0 0 auto !important;
    position:absolute !important;
    left:10px !important;
    right:10px !important;
    top:calc(100% + 6px) !important;
    z-index:1100 !important;
    width:auto !important;
    max-height:calc(100vh - 92px) !important;
    overflow-y:auto !important;
    padding:10px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:2px !important;
    background:#fff !important;
    border:1px solid #e1e6ed !important;
    border-radius:16px !important;
    box-shadow:0 20px 50px rgba(16,24,40,.22) !important;
  }
  .ga-main-nav.is-open{display:flex !important;}
  .ga-main-nav>a{
    display:flex !important;
    align-items:center !important;
    min-height:48px !important;
    height:auto !important;
    padding:12px 14px !important;
    border-radius:10px !important;
    color:#172033 !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  .ga-main-nav>a.active{color:#ff6b00 !important;background:#fff6ef !important;}
  .ga-main-nav>a.active:after{display:none !important;}

  .ga-mobile-only-auth{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin:8px 4px 2px !important;
    padding:12px 0 0 !important;
    border-top:1px solid #e9edf2 !important;
  }
  .ga-mobile-auth-group{
    display:block !important;
    padding:10px 11px !important;
    border:1px solid #e1e6ed !important;
    border-radius:12px !important;
    background:#f8fafc !important;
  }
  .ga-mobile-auth-group strong{
    display:block !important;
    margin-bottom:7px !important;
    color:#344054 !important;
    font-size:10px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
  }
  .ga-mobile-auth-group>div{display:flex !important;align-items:center !important;gap:8px !important;}
  .ga-mobile-auth-group a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px !important;
    padding:8px 12px !important;
    border:1px solid #d8dee7 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#172033 !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
  }
  .ga-mobile-auth-group a:last-child{border-color:#ff6b00 !important;color:#e85e00 !important;background:#fff8f3 !important;}
  .ga-mobile-provider-auth{background:#fff8f3 !important;border-color:#ffd9c2 !important;}
  .ga-mobile-provider-auth strong{color:#a34a1c !important;}
}

@media(max-width:390px){
  .ga-main-logo img{width:138px !important;max-width:138px !important;}
  .ga-mainbar .ga-mobile-menu-toggle{flex-basis:40px !important;width:40px !important;height:40px !important;}
  .ga-mobile-auth-group a{font-size:12px !important;padding-left:10px !important;padding-right:10px !important;}
}

/* Guests have no fixed bottom navigation; remove any legacy spacer. */
@media(max-width:760px){body:not(.ga-has-mobile-bottom-nav){padding-bottom:0 !important;}}


/* V47N — final header logo scale + white favicon polish.
 * Keep the mobile hamburger/auth navigation from V47K unchanged.
 */
@media(min-width:1181px){
  .ga-main-logo{flex:0 0 235px!important;min-width:235px!important;}
  .ga-main-logo img{width:235px!important;max-width:235px!important;height:auto!important;}
}
@media(min-width:761px) and (max-width:1180px){
  .ga-main-logo{flex:0 0 200px!important;min-width:200px!important;}
  .ga-main-logo img{width:200px!important;max-width:200px!important;height:auto!important;}
}
@media(max-width:760px){
  .ga-main-logo img{width:150px!important;max-width:150px!important;height:auto!important;}
}

/* V47O — cart visibility, reliable cart state and mobile ordering controls. */
.ga-header-cart-link{position:relative!important;display:inline-flex!important;align-items:center;gap:5px!important;}
[data-ga-cart-badge]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ds-orange,#f5821f);color:#fff;font-size:10px;font-style:normal;font-weight:850;line-height:1;}
.restaurant-page .ga-menu-card-price strong{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.restaurant-page .ga-quick-add{flex:0 0 auto!important;max-width:100%!important;box-sizing:border-box!important;white-space:nowrap!important;}
.ga-mobile-item-panel{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scroll-padding-bottom:150px!important;}
.ga-mobile-item-panel .ga-item-detail-content form{padding-bottom:24px!important;}
@media(max-width:760px){
  .restaurant-page .ga-floating-cart{left:10px!important;right:10px!important;bottom:82px!important;justify-content:center!important;min-height:48px!important;box-sizing:border-box!important;}
  .restaurant-page .ga-floating-cart b{margin-left:auto!important;}
  .ga-mobile-item-dialog[open]{height:100dvh!important;max-height:100dvh!important;}
  .ga-mobile-item-panel{max-height:calc(100dvh - 18px)!important;padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;}
  .ga-mobile-item-panel .ga-item-detail-content form{scroll-margin-bottom:120px!important;}
}
@media(max-width:430px){
  .restaurant-page .ga-menu-card-price{display:flex!important;align-items:stretch!important;flex-direction:column!important;gap:7px!important;min-height:0!important;}
  .restaurant-page .ga-menu-card-price strong{width:100%!important;flex:0 0 auto!important;}
  .restaurant-page .ga-quick-add{width:100%!important;min-width:0!important;}
}

.ga-v48-page{padding-top:28px;padding-bottom:48px}.ga-v48-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.ga-v48-hero h1{margin:.2rem 0 .5rem;font-size:clamp(28px,4vw,42px)}.ga-v48-hero p{max-width:760px;color:var(--ds-muted,#667085);margin:0}.ga-v48-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ga-v48-feature-card,.ga-v48-admin-card,.ga-v48-row{background:#fff;border:1px solid rgba(15,23,42,.09);border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(15,23,42,.05)}.ga-v48-feature-card{display:flex;flex-direction:column;gap:10px}.ga-v48-feature-card h2{margin:0;font-size:20px}.ga-v48-badge{align-self:flex-start;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#eef6f4}.ga-v48-price{font-size:27px;font-weight:800}.ga-v48-price small{font-size:13px;font-weight:500;margin-left:4px}.ga-v48-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--ds-muted,#667085)}.ga-v48-stack{display:grid;gap:14px}.ga-v48-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.ga-v48-row h3{margin:0 0 5px}.ga-v48-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ga-v48-admin-card{margin-bottom:22px}.ga-v48-admin-card h2{margin-top:0}.ga-v48-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ga-v48-form label{display:grid;gap:6px;font-weight:600;font-size:14px}.ga-v48-form input,.ga-v48-form select,.ga-v48-form textarea{width:100%;box-sizing:border-box;border:1px solid #d7dce3;border-radius:10px;padding:10px 12px;font:inherit}.ga-v48-form textarea{min-height:90px;resize:vertical}.ga-v48-full{grid-column:1/-1}.ga-v48-check{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.ga-v48-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ga-v48-list{display:grid;gap:8px;margin-top:15px}.ga-v48-list div,.ga-v48-request{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #edf0f3}.ga-v48-list span,.ga-v48-request span{color:#667085;font-size:13px}.ga-v48-account-grid{max-width:1100px;margin:25px auto;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ga-v48-account-card{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid rgba(15,23,42,.09);border-radius:16px;background:#fff;text-decoration:none;color:inherit}.ga-v48-account-card>span{font-size:28px}.ga-v48-account-card small{display:block;color:#667085;margin-top:3px}.ga-v48-highlight{border-color:rgba(16,185,129,.3)}
@media(max-width:900px){.ga-v48-card-grid,.ga-v48-two-col{grid-template-columns:1fr 1fr}.ga-v48-form{grid-template-columns:1fr}.ga-v48-full{grid-column:auto}.ga-v48-hero{align-items:flex-start;flex-direction:column}.ga-v48-row{align-items:flex-start;flex-direction:column}.ga-v48-account-grid{grid-template-columns:1fr}}
@media(max-width:600px){.ga-v48-card-grid,.ga-v48-two-col{grid-template-columns:1fr}.ga-v48-page{padding-top:18px}.ga-v48-feature-card,.ga-v48-admin-card,.ga-v48-row{padding:16px;border-radius:15px}}

/* V48.0 customer dashboard UX */
.ga-v48-customer-home{padding-bottom:48px}.ga-customer-welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 0 22px}.ga-customer-welcome h1{margin:.25rem 0 .5rem;font-size:clamp(28px,4vw,42px);letter-spacing:-.02em}.ga-customer-welcome p{max-width:720px;margin:0}.ga-customer-welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.ga-customer-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.ga-customer-quick-card{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid rgba(15,23,42,.09);border-radius:16px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(15,23,42,.04);transition:transform .15s ease,box-shadow .15s ease}.ga-customer-quick-card:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(15,23,42,.08)}.ga-customer-quick-card>span{font-size:25px;flex:0 0 auto}.ga-customer-quick-card div{min-width:0;flex:1}.ga-customer-quick-card strong,.ga-customer-quick-card small{display:block}.ga-customer-quick-card small{margin-top:3px;color:var(--ds-muted,#667085);font-size:12px;line-height:1.35}.ga-customer-quick-card b{font-size:18px}.ga-customer-feature-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:28px}.ga-customer-feature-card{display:flex;gap:16px;padding:22px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 7px 24px rgba(15,23,42,.045)}.ga-customer-feature-card.ga-customer-feature-primary{background:linear-gradient(135deg,#fff,#f5fbf8);border-color:rgba(16,185,129,.25)}.ga-customer-feature-icon{font-size:34px;flex:0 0 auto}.ga-customer-feature-card h2{margin:3px 0 7px}.ga-customer-feature-card p{margin:0 0 12px;color:var(--ds-muted,#667085);line-height:1.5}.ga-customer-feature-card strong{font-size:14px}.ga-customer-account-section{margin-top:10px}.ga-customer-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ga-customer-account-item{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid rgba(15,23,42,.09);border-radius:14px;background:#fff;text-decoration:none;color:inherit}.ga-customer-account-item>span{font-size:23px;flex:0 0 auto}.ga-customer-account-item strong,.ga-customer-account-item small{display:block}.ga-customer-account-item small{margin-top:3px;color:var(--ds-muted,#667085);font-size:12px;line-height:1.35}.ga-customer-account-item:hover{border-color:rgba(15,23,42,.18)}
@media(max-width:1000px){.ga-customer-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-customer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ga-customer-welcome{align-items:flex-start;flex-direction:column;padding-top:20px}.ga-customer-welcome-actions{width:100%}.ga-customer-welcome-actions .btn{flex:1;text-align:center}.ga-customer-quick-grid,.ga-customer-feature-grid,.ga-customer-account-grid{grid-template-columns:1fr}.ga-customer-feature-card{padding:18px}.ga-customer-quick-card{padding:14px}}
/* V48.0 dashboard UX completion */
.ga-customer-home-v48{padding-bottom:56px}.ga-customer-hero-v48{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:30px 0 24px}.ga-customer-hero-v48 h1{font-size:clamp(30px,4vw,44px);margin:5px 0 8px;letter-spacing:-.025em}.ga-customer-hero-v48 p{margin:0;color:var(--ds-muted,#667085);max-width:720px}.ga-customer-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.ga-active-order-v48{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid rgba(16,185,129,.22);border-radius:18px;background:linear-gradient(135deg,#fff,#f3fbf8);box-shadow:0 8px 24px rgba(15,23,42,.05);margin-bottom:24px}.ga-active-order-icon{font-size:32px}.ga-active-order-main{flex:1}.ga-active-order-main h2{margin:2px 0 4px}.ga-active-order-main p{margin:0;color:var(--ds-muted,#667085)}.ga-customer-section-v48{margin:0 0 28px}.ga-v48-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.ga-v48-section-head h2{margin:3px 0 0}.ga-v48-section-head>a{font-weight:700;text-decoration:none}.ga-customer-actions-v48{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ga-customer-actions-v48>a{position:relative;display:block;padding:18px;border:1px solid rgba(15,23,42,.09);border-radius:16px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(15,23,42,.035)}.ga-customer-actions-v48>a>span{font-size:25px;display:block;margin-bottom:10px}.ga-customer-actions-v48 strong{display:block;font-size:16px}.ga-customer-actions-v48 strong em{font-style:normal;margin-left:7px;padding:2px 7px;border-radius:999px;background:#111827;color:#fff;font-size:11px}.ga-customer-actions-v48 small{display:block;margin-top:4px;color:var(--ds-muted,#667085)}.ga-customer-split-v48{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.ga-customer-panel-v48{padding:20px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:#fff}.ga-fav-list-v48{display:grid;gap:7px}.ga-fav-list-v48>a,.ga-fav-list-v48>div{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(15,23,42,.07);text-decoration:none;color:inherit}.ga-fav-list-v48>a:last-child,.ga-fav-list-v48>div:last-child{border-bottom:0}.ga-fav-list-v48>a>span,.ga-fav-list-v48>div>span{font-size:22px}.ga-fav-list-v48 div:nth-child(2){flex:1}.ga-fav-list-v48 strong,.ga-fav-list-v48 small{display:block}.ga-fav-list-v48 small{margin-top:3px;color:var(--ds-muted,#667085);font-size:12px}.ga-fav-list-v48>b{margin-left:auto}.ga-mini-action{padding:6px 10px!important;font-size:12px}.ga-customer-empty-v48{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:22px;border:1px dashed rgba(15,23,42,.18);border-radius:16px}.ga-customer-empty-v48 strong{display:block}.ga-customer-empty-v48 span{color:var(--ds-muted,#667085);margin-right:auto}.ga-recent-orders-v48{display:grid;gap:8px}.ga-recent-orders-v48>a{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 16px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;text-decoration:none;color:inherit}.ga-recent-orders-v48 small{display:block;color:var(--ds-muted,#667085);margin-top:4px}.ga-customer-discover-v48{display:grid;grid-template-columns:.8fr 1.6fr;gap:20px;align-items:center;padding:24px;border-radius:20px;background:#f7f8fa;margin-bottom:28px}.ga-customer-discover-v48 h2{margin:3px 0 6px}.ga-customer-discover-v48 p{margin:0;color:var(--ds-muted,#667085)}.ga-discover-grid-v48{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ga-discover-grid-v48>a{padding:13px;border:1px solid rgba(15,23,42,.08);border-radius:13px;background:#fff;text-decoration:none;color:inherit}.ga-discover-grid-v48 strong,.ga-discover-grid-v48 small{display:block;margin-top:4px}.ga-discover-grid-v48 small{color:var(--ds-muted,#667085);font-size:11px}.ga-customer-account-v48{padding-top:2px}.ga-account-links-v48{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ga-account-links-v48>a{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid rgba(15,23,42,.09);border-radius:14px;background:#fff;text-decoration:none;color:inherit}.ga-account-links-v48 span{display:block}.ga-account-links-v48 small{display:block;color:var(--ds-muted,#667085);font-size:12px;margin-top:3px}
.ga-provider-kpis-v48{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 24px}.ga-provider-kpis-v48>div{padding:18px;border:1px solid rgba(15,23,42,.09);border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}.ga-provider-kpis-v48 span,.ga-provider-kpis-v48 small{display:block;color:var(--ds-muted,#667085);font-size:12px}.ga-provider-kpis-v48 strong{display:block;font-size:25px;margin:5px 0 2px}.ga-provider-operations-v48{margin:0 0 28px}.ga-attention-grid-v48{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.ga-attention-grid-v48>a{display:grid;grid-template-columns:auto 1fr auto;column-gap:9px;align-items:center;padding:14px;border:1px solid rgba(15,23,42,.09);border-radius:15px;background:#fff;text-decoration:none;color:inherit}.ga-attention-grid-v48 span{grid-row:1/3;font-size:24px}.ga-attention-grid-v48 strong{font-size:22px}.ga-attention-grid-v48 small{color:var(--ds-muted,#667085);font-size:11px}.ga-attention-grid-v48 b{grid-column:2/4;margin-top:8px;font-size:12px}.ga-provider-quick-v48{padding:18px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:#fff;margin-bottom:16px}.ga-provider-quick-v48 h3{margin:3px 0 12px}.ga-provider-quick-grid-v48{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.ga-provider-quick-grid-v48>a{padding:13px 10px;text-align:center;border:1px solid rgba(15,23,42,.08);border-radius:12px;text-decoration:none;color:inherit;background:#fafafa}.ga-provider-quick-grid-v48>a strong{display:block;margin-top:5px;font-size:12px}.ga-provider-performance-v48{display:grid;grid-template-columns:1.7fr 1fr;gap:16px}.ga-provider-performance-v48>div:first-child,.ga-provider-growth-callout{padding:18px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:#fff}.ga-provider-performance-v48 h3{margin:3px 0 14px}.ga-provider-performance-grid-v48{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ga-provider-performance-grid-v48>div{padding:12px;border-radius:12px;background:#f7f8fa}.ga-provider-performance-grid-v48 span,.ga-provider-performance-grid-v48 small{display:block;color:var(--ds-muted,#667085);font-size:11px}.ga-provider-performance-grid-v48 strong{display:block;margin:5px 0;font-size:15px}.ga-provider-growth-callout{display:flex;gap:12px;align-items:flex-start}.ga-provider-growth-callout>span{font-size:28px}.ga-provider-growth-callout p{margin:5px 0 8px;color:var(--ds-muted,#667085);font-size:13px;line-height:1.45}.ga-provider-growth-callout a{font-weight:700;text-decoration:none}
@media(max-width:900px){.ga-customer-actions-v48,.ga-provider-kpis-v48{grid-template-columns:repeat(2,1fr)}.ga-customer-split-v48,.ga-customer-discover-v48,.ga-provider-performance-v48{grid-template-columns:1fr}.ga-account-links-v48{grid-template-columns:1fr 1fr}.ga-attention-grid-v48{grid-template-columns:repeat(2,1fr)}.ga-provider-quick-grid-v48{grid-template-columns:repeat(3,1fr)}.ga-provider-performance-grid-v48{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ga-customer-hero-v48{flex-direction:column;align-items:flex-start}.ga-customer-hero-actions{width:100%}.ga-customer-hero-actions .btn{flex:1;text-align:center}.ga-active-order-v48{align-items:flex-start;flex-wrap:wrap}.ga-active-order-v48 .btn{width:100%;text-align:center}.ga-customer-actions-v48,.ga-account-links-v48,.ga-provider-kpis-v48,.ga-attention-grid-v48{grid-template-columns:1fr 1fr}.ga-discover-grid-v48{grid-template-columns:1fr 1fr}.ga-provider-quick-grid-v48{grid-template-columns:repeat(2,1fr)}.ga-provider-performance-grid-v48{grid-template-columns:1fr}.ga-recent-orders-v48>a{align-items:flex-start}.ga-provider-kpis-v48 strong{font-size:20px}.ga-dashboard-primary-actions{width:100%}.ga-dashboard-primary-actions .btn{flex:1}}

/* V48.0.1 — final stability/layout correction pass.
 * These rules intentionally come last because app.css contains historical
 * compatibility layers. They establish one predictable desktop/tablet/mobile
 * contract without removing existing features.
 */
html, body{max-width:100%;overflow-x:hidden;}

/* Guest desktop header: prevent the enlarged V47N logo/nav combination from
   creating horizontal overflow on ordinary laptops. */
@media(min-width:1181px) and (max-width:1450px){
  .ga-mainbar-inner{gap:14px!important;min-width:0!important;}
  .ga-main-logo{flex:0 1 190px!important;min-width:170px!important;max-width:190px!important;}
  .ga-main-logo img{width:190px!important;max-width:190px!important;}
  .ga-main-nav{min-width:0!important;gap:2px!important;overflow:hidden!important;}
  .ga-main-nav>a{padding-left:9px!important;padding-right:9px!important;font-size:14px!important;}
  .ga-main-actions{flex:0 0 auto!important;min-width:0!important;}
  .ga-guest-action-group{padding-left:7px!important;padding-right:7px!important;}
  .ga-guest-action-group a{font-size:11px!important;}
}

/* Provider command-centre hierarchy: operational controls and waiting orders
   are intentionally the first actions after the greeting. */
.ga-provider-home-v48 + .ga-provider-kpis-v48{margin-top:0;}
.ga-order-controls{position:relative;z-index:2;}
.ga-new-orders-panel{position:relative;z-index:1;}
.ga-new-orders-panel .ga-section-heading{align-items:center;}

/* Public menu cards: never allow long names/descriptions or action buttons to
   enlarge a grid track or collide with the price/action row. */
.restaurant-page .card-grid{min-width:0!important;}
.restaurant-page .ga-menu-item-card{min-width:0!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important;}
.restaurant-page .ga-menu-card-media{width:100%!important;min-width:0!important;overflow:hidden!important;flex:0 0 auto!important;}
.restaurant-page .ga-menu-card-body{min-width:0!important;max-width:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;}
.restaurant-page .ga-menu-card-body h3,.restaurant-page .ga-menu-card-body .meta{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.restaurant-page .ga-menu-card-price{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.restaurant-page .ga-menu-card-price strong{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.restaurant-page .ga-quick-add{flex:0 0 auto!important;min-width:58px!important;max-width:100%!important;box-sizing:border-box!important;}
@media(max-width:430px){
  .restaurant-page .ga-menu-card-body{min-height:154px!important;}
  .restaurant-page .ga-menu-card-body h3{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;}
  .restaurant-page .ga-menu-card-body .meta{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;}
}

/* Provider menu manager: table action controls become a contained vertical
   action area instead of forcing the whole table wider. */
.ga-menu-actions{min-width:0!important;width:100%!important;box-sizing:border-box!important;}
@media(max-width:900px){
  .ga-menu-actions{flex-direction:column!important;align-items:stretch!important;}
  .ga-menu-actions form,.ga-menu-actions .btn,.ga-menu-actions input[type=file]{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
}

/* Avoid repeated layout jumps when mobile keyboards open over item sheets. */
.ga-mobile-item-dialog{overscroll-behavior:contain!important;}
.ga-mobile-item-dialog .ga-mobile-item-panel{width:min(100%,720px)!important;max-width:100%!important;box-sizing:border-box!important;}


/* V48.0.4 — authenticated customer shell. Customer pages use the same
 * GoAppetite header/logo as guest pages; account actions move into a compact
 * desktop action group and a complete mobile menu. */
.ga-customer-main-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto;white-space:nowrap}
.ga-customer-main-actions>a{display:inline-flex;align-items:center;gap:4px;padding:9px 10px;border-radius:10px;color:#172033;text-decoration:none;font-weight:800;font-size:13px}
.ga-customer-main-actions>a:hover{background:#f6f8fb}
.ga-customer-main-actions .ga-customer-logout{padding:8px 11px!important;font-size:12px!important;white-space:nowrap}
.ga-mobile-customer-actions{display:none}
@media(min-width:1181px) and (max-width:1450px){
  .ga-customer-main-actions{gap:2px}
  .ga-customer-main-actions>a{padding-left:7px;padding-right:7px;font-size:12px}
  .ga-customer-main-actions .ga-customer-logout{padding-left:8px!important;padding-right:8px!important}
}
@media(max-width:760px){
  .ga-mobile-customer-actions{display:grid;gap:2px;margin:8px 4px 2px;padding:10px 0 0;border-top:1px solid #e9edf2}
  .ga-mobile-customer-actions>a{display:flex;align-items:center;min-height:46px;padding:11px 14px;border-radius:10px;color:#172033;text-decoration:none;font-size:15px;font-weight:800}
  .ga-mobile-customer-actions>a:hover{background:#f6f8fb}
  .ga-mobile-customer-actions .ga-customer-logout{display:flex;width:100%;justify-content:flex-start;min-height:46px;margin-top:4px;padding:11px 14px!important;border:1px solid #d8dee7!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font-size:15px!important;font-weight:800!important}
}

/* V48.0.4 — customer event/catering journey surfaced on the dashboard. */
.ga-customer-event-v48{display:grid;grid-template-columns:1.1fr 1.5fr auto;gap:18px;align-items:center;padding:22px 24px;margin:0 0 28px;border:1px solid rgba(245,130,31,.20);border-radius:20px;background:linear-gradient(135deg,#fffaf5,#ffffff)}
.ga-customer-event-v48 h2{margin:3px 0 6px}.ga-customer-event-v48 p{margin:0;color:var(--ds-muted,#667085);line-height:1.5}
.ga-event-flow-v48{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:800;color:#344054}.ga-event-flow-v48 span{padding:8px 10px;border:1px solid rgba(15,23,42,.09);border-radius:999px;background:#fff}.ga-event-flow-v48 b{color:var(--ds-orange,#f5821f)}
.ga-customer-event-v48 .ga-action-row{justify-content:flex-end;margin:0}.ga-customer-event-v48 .btn{white-space:nowrap}
@media(max-width:1000px){.ga-customer-event-v48{grid-template-columns:1fr}.ga-customer-event-v48 .ga-action-row{justify-content:flex-start}}
@media(max-width:600px){.ga-event-flow-v48{justify-content:flex-start}.ga-customer-event-v48 .ga-action-row{width:100%}.ga-customer-event-v48 .btn{flex:1;text-align:center}}


/* V48.0.6 — production header width correction. Keep every primary navigation
 * item visible on normal desktop widths instead of allowing the final item to
 * disappear underneath the customer/provider authentication controls. */
@media(min-width:1181px){
  .ga-mainbar-inner{
    display:grid!important;
    grid-template-columns:minmax(175px,190px) minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
  }
  .ga-main-logo{min-width:0!important;max-width:190px!important;width:100%!important;}
  .ga-main-logo img{width:190px!important;max-width:100%!important;}
  .ga-main-nav{
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
    gap:0!important;
    justify-content:flex-start!important;
  }
  .ga-main-nav>a{
    flex:0 1 auto!important;
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .ga-main-nav>a.active:after{left:6px!important;right:6px!important;}
  .ga-main-actions{min-width:0!important;max-width:100%!important;}
  .ga-guest-actions{gap:4px!important;white-space:nowrap!important;}
  .ga-guest-action-group{padding:5px 6px!important;gap:4px!important;}
  .ga-guest-action-group a{font-size:10px!important;}
  .ga-guest-action-group .ga-guest-label{font-size:7px!important;}
}

@media(min-width:1181px) and (max-width:1260px){
  .ga-mainbar-inner{grid-template-columns:minmax(155px,175px) minmax(0,1fr) auto!important;gap:8px!important;}
  .ga-main-logo img{width:175px!important;}
  .ga-main-nav>a{padding-left:4px!important;padding-right:4px!important;font-size:11px!important;}
  .ga-main-nav>a.active:after{left:4px!important;right:4px!important;}
  .ga-guest-action-group{padding:4px 5px!important;}
  .ga-guest-action-group a{font-size:9.5px!important;}
}


/* V48.0.11 — navigation hierarchy polish. Concierge remains available through
 * the dedicated homepage CTA/card and its own page, but is intentionally not a
 * primary header item because it duplicates the homepage discovery affordances. */

/* V48.0.11 — native WebView safe-area protection. The Android wrapper now
 * consumes the native system-bar inset itself. The web app therefore keeps
 * safe-area support for real edge-to-edge browsers, while the native wrapper
 * marks itself with .ga-native-webview to prevent double compensation. */
@supports(padding:max(0px)){
  .ga-topbar{
    height:calc(40px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
    box-sizing:border-box;
  }
  .ga-topbar-inner{height:40px;}
}
@media(max-width:760px){
  .ga-market-details{max-width:100%;}
  .ga-market-details summary{min-height:28px;padding:3px 0;box-sizing:border-box;}
  .ga-market-form{
    top:calc(40px + env(safe-area-inset-top) + 8px)!important;
    max-height:calc(100dvh - 56px - env(safe-area-inset-top));
    overflow:auto;
  }
}
/* The Android customer wrapper applies status/navigation insets outside the
 * WebView viewport. Do not compensate a second time inside the page. */
html.ga-native-webview .ga-topbar{
  height:40px!important;
  padding-top:0!important;
}
@media(max-width:760px){
  html.ga-native-webview .ga-market-form{
    top:48px!important;
    max-height:calc(100dvh - 56px)!important;
  }
}

/* V48.0.11 — GoAppetite native customer app presentation.
 * The Android wrapper marks the document with .ga-native-app. Keep the same
 * website routes/functionality, but present the shell as an app rather than a
 * browser page: larger brand/header, no website footer, and no duplicate
 * Concierge item in the primary navigation. */
@media(max-width:760px){
  html.ga-native-app .ga-mainbar-inner{
    min-height:78px !important;
    padding:9px 12px !important;
    gap:10px !important;
  }
  html.ga-native-app .ga-main-logo{
    max-width:calc(100% - 56px) !important;
  }
  html.ga-native-app .ga-main-logo img{
    width:190px !important;
    max-width:190px !important;
    height:auto !important;
  }
  html.ga-native-app .ga-main-logo small{display:none !important;}
  html.ga-native-app .ga-mainbar .ga-mobile-menu-toggle{
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
  }
  html.ga-native-app .ds-footer{display:none !important;}
  html.ga-native-app body{padding-bottom:0 !important;}
}
@media(max-width:390px){
  html.ga-native-app .ga-main-logo img{
    width:176px !important;
    max-width:176px !important;
  }
}

/* V48.0.11 — desktop public-header readability correction.
 * The desktop header is intentionally larger than the compact V48.0.11 fit
 * rules: increase the GoAppetite brand and primary navigation typography while
 * retaining a single-row, non-overlapping layout. Mobile/responsive header
 * rules remain unchanged. */
@media (min-width:1181px){
  .ga-mainbar{height:84px !important;}
  .ga-mainbar-inner{
    min-height:84px !important;
    height:84px !important;
    grid-template-columns:minmax(195px,210px) minmax(0,1fr) auto !important;
    gap:14px !important;
  }
  .ga-main-logo{max-width:210px !important;width:210px !important;}
  .ga-main-logo img{width:210px !important;max-width:210px !important;height:auto !important;}
  .ga-main-nav{gap:1px !important;}
  .ga-main-nav>a{
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:14px !important;
    font-weight:750 !important;
  }
  .ga-main-nav>a.active:after{left:8px !important;right:8px !important;}
  .ga-customer-main-actions>a{font-size:13.5px !important;padding-left:9px !important;padding-right:9px !important;}
  .ga-customer-main-actions .ga-customer-logout{font-size:13px !important;padding-left:10px !important;padding-right:10px !important;}
  .ga-guest-actions{gap:6px !important;}
  .ga-guest-action-group{padding:6px 8px !important;gap:6px !important;}
  .ga-guest-action-group a{font-size:11.5px !important;}
  .ga-guest-action-group .ga-guest-label{font-size:9px !important;}
}

@media (min-width:1181px) and (max-width:1260px){
  .ga-mainbar{height:82px !important;}
  .ga-mainbar-inner{
    height:82px !important;
    min-height:82px !important;
    grid-template-columns:minmax(185px,195px) minmax(0,1fr) auto !important;
    gap:9px !important;
  }
  .ga-main-logo{width:195px !important;max-width:195px !important;}
  .ga-main-logo img{width:195px !important;max-width:195px !important;}
  .ga-main-nav>a{padding-left:6px !important;padding-right:6px !important;font-size:13px !important;}
  .ga-main-nav>a.active:after{left:6px !important;right:6px !important;}
  .ga-guest-action-group{padding-left:6px !important;padding-right:6px !important;gap:4px !important;}
  .ga-guest-action-group a{font-size:10.5px !important;}
  .ga-guest-action-group .ga-guest-label{font-size:8px !important;}
}

/* V48.0.12 — market flag assets. Real SVG flags are used for launch GCC markets
   so the header never degrades to an unsupported text/emoji glyph such as "AE". */
.ga-market-flag{display:inline-flex;align-items:center;justify-content:center;width:20px;height:14px;flex:0 0 20px;overflow:hidden;border-radius:2px;line-height:1}
.ga-market-flag img{display:block;width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}

/* GoAppetite POS page bundle — kept global so rewritten/front-controller routes cannot lose page CSS. */
.ga-pos{margin:18px auto 36px}.ga-pos-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ga-pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;margin-top:16px}.ga-pos-panel{background:#fff;border:1px solid var(--ds-border);border-radius:16px;padding:14px}.ga-pos-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.ga-pos-tabs button{border:1px solid var(--ds-border);background:#fff;border-radius:12px;padding:9px 14px;font-weight:700;cursor:pointer;white-space:nowrap}.ga-pos-tabs button.active{background:var(--ds-navy);color:#fff}.ga-pos-cats{display:flex;gap:8px;overflow:auto;margin-bottom:12px}.ga-pos-cats button{border:0;border-radius:999px;padding:8px 12px;background:#f1f3f6;cursor:pointer}.ga-pos-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ga-pos-item{border:1px solid var(--ds-border);border-radius:14px;background:#fff;padding:12px;text-align:left;min-height:92px;cursor:pointer}.ga-pos-item strong{display:block}.ga-pos-item small{display:block;margin-top:7px;color:#777}.ga-pos-cart{position:sticky;top:12px}.ga-pos-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #eee}.ga-pos-line button{border:1px solid var(--ds-border);background:#fff;border-radius:7px;width:28px;height:28px}.ga-pos-total{display:flex;justify-content:space-between;padding:7px 0}.ga-pos-total.grand{font-size:20px;font-weight:800;border-top:2px solid var(--ds-border);margin-top:5px;padding-top:12px}.ga-pos-form input,.ga-pos-form select,.ga-pos-form textarea{width:100%;padding:9px 10px;border:1px solid var(--ds-border);border-radius:9px;box-sizing:border-box}.ga-pos-form label{font-size:12px;font-weight:700;display:block;margin:8px 0 4px}.ga-pos-open{margin-top:16px}.ga-pos-alert{padding:10px 12px;border-radius:10px;background:#fff5df;margin-bottom:12px}.ga-pos-table{width:100%;border-collapse:collapse}.ga-pos-table th,.ga-pos-table td{padding:9px;border-bottom:1px solid #eee;text-align:left}.ga-pos-table th{text-transform:uppercase;font-size:11px;color:#777}
@media(max-width:850px){.ga-pos-grid{grid-template-columns:1fr}.ga-pos-cart{position:static}.ga-pos-items{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V48.0.32 — provider event-request alert */
/* Notification unread badge — deliberately sized for legibility on mobile and desktop. */
.ga-nav-unread{display:inline-flex;min-width:20px;height:20px;box-sizing:border-box;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#b42318;color:#fff;font-size:11px;line-height:1;font-weight:800;letter-spacing:0;text-align:center;vertical-align:middle;text-shadow:none;box-shadow:0 1px 3px rgba(16,24,40,.28);font-variant-numeric:tabular-nums}
.ga-provider-notification-link{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:32px}
@media (max-width:640px){.ga-nav-unread{min-width:22px;height:22px;font-size:12px;padding:0 6px}.ga-provider-notification-link{min-height:38px}}.ga-event-toast{position:fixed;right:18px;bottom:18px;z-index:9999;width:min(380px,calc(100vw - 36px));display:grid;gap:7px;padding:15px 16px;border:1px solid #f3c47a;border-radius:14px;background:#fffdf7;box-shadow:0 18px 50px rgba(16,24,40,.2);font-size:12px}.ga-event-toast strong{font-size:14px;color:#172033}.ga-event-toast span{color:#667085;line-height:1.45}.ga-event-toast a{justify-self:start;font-weight:850;color:#087f73;text-decoration:none}.ga-event-toast a:hover{text-decoration:underline}

[hidden]{display:none!important;}
.restaurant-page .ga-menu-item-card.ga-menu-filtered-out{display:none!important;}

/* V48.0.34 — persistent provider availability + dashboard navigation */
.ga-provider-dashboard-link{display:inline-flex!important;align-items:center;gap:4px;background:#fff;color:#172033!important;font-weight:800!important;border:1px solid transparent}
.ga-provider-dashboard-link.active{background:#e8f6f3!important;color:#087f73!important;border-color:#cfe9e2!important;font-weight:900!important}
.ga-provider-dashboard-link:hover{background:#f4f8f7!important;color:#087f73!important;border-color:#dcece8!important}
.ga-provider-availability{display:flex;align-items:center;gap:5px;margin-left:2px;flex:0 0 auto}
.ga-availability-btn{border:1px solid #dfe5eb;background:#fff;color:#344054;border-radius:9px;padding:7px 8px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.ga-availability-btn b{font-size:9px;margin-left:3px}
.ga-availability-btn.is-on{border-color:#bfe6d5;background:#effaf5;color:#087f50}
.ga-availability-btn.is-off{border-color:#f0caca;background:#fff6f6;color:#b42318}
.ga-availability-btn:hover{box-shadow:0 2px 8px rgba(16,24,40,.10)}
.ga-provider-notification-link{display:inline-flex!important;align-items:center;justify-content:center;min-width:32px}
.ga-availability-modal[hidden]{display:none!important}
.ga-availability-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.ga-availability-backdrop{position:absolute;inset:0;background:rgba(7,18,32,.55);backdrop-filter:blur(2px)}
.ga-availability-dialog{position:relative;width:min(440px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.24);z-index:1}
.ga-availability-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#667085;font-size:28px;line-height:1;cursor:pointer;padding:4px 8px}
.ga-availability-icon{font-size:34px;margin-bottom:8px}
.ga-availability-dialog h2{margin:3px 36px 8px 0;font-size:22px;color:#172033}
.ga-availability-dialog p{margin:0;color:#667085;font-size:13px;line-height:1.6}
.ga-availability-current{margin:16px 0;padding:11px 12px;border:1px solid #e5e7eb;border-radius:11px;background:#f8fafc;color:#344054;font-size:12px}
.ga-availability-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.ga-availability-danger{border:1px solid #efb4b4!important;color:#b42318!important;background:#fff!important}
@media(max-width:1180px){.ga-provider-nav>a{font-size:11px;padding-left:6px;padding-right:6px}.ga-provider-availability{flex:0 0 auto}}
@media(max-width:650px){.ga-availability-modal{padding:14px}.ga-availability-dialog{padding:22px 18px}.ga-availability-actions{display:grid;grid-template-columns:1fr 1fr}.ga-availability-actions .btn{width:100%}}
@media(max-width:820px){
  .ga-provider-nav.is-open .ga-provider-availability{display:flex;align-items:stretch;flex-direction:column;gap:6px;padding:10px 6px;border-bottom:1px solid #f0f2f5}
  .ga-provider-nav.is-open .ga-availability-btn{width:100%;text-align:left;padding:10px 8px}
}

/* V48.0.35 — provider header layout stabilization
   Keep branding, quick availability controls, notifications and navigation
   in separate layout bands so they can never overlap or hide menu items. */
.ga-provider-header{overflow:visible}
.ga-provider-header-main{min-height:70px;display:flex;align-items:center;gap:18px;position:relative}
.ga-provider-logo{flex:0 0 190px;min-width:190px}
.ga-provider-logo img{width:190px;max-width:100%;height:auto;display:block}
.ga-provider-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex:1}
.ga-provider-dashboard-quick{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #cfe9e2;border-radius:9px;background:#eef8f5;color:#087f73;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
.ga-provider-dashboard-quick:hover,.ga-provider-dashboard-quick.active{background:#dff4ed;color:#076c62;text-decoration:none}
.ga-provider-header-actions .ga-provider-availability{margin-left:0}
.ga-provider-nav-row{border-top:1px solid #f0f2f5;background:#fff}
.ga-provider-nav-row>.container{min-width:0}
.ga-provider-nav-row .ga-provider-nav{min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:3px;overflow-x:auto;overflow-y:visible;white-space:nowrap;scrollbar-width:none}
.ga-provider-nav-row .ga-provider-nav::-webkit-scrollbar{display:none}
.ga-provider-nav-row .ga-provider-nav>a{flex:0 0 auto}
.ga-provider-nav-row .ga-provider-nav form{flex:0 0 auto;margin-left:auto}
.ga-provider-nav-row .ga-provider-logout{white-space:nowrap}

@media (max-width:1180px){
  .ga-provider-logo{flex-basis:165px;min-width:165px}
  .ga-provider-logo img{width:165px}
  .ga-provider-header-main{gap:12px}
  .ga-provider-header-actions{gap:6px}
  .ga-provider-nav-row .ga-provider-nav>a{font-size:11px;padding-left:6px;padding-right:6px}
}

@media (max-width:820px){
  .ga-provider-header-main{min-height:64px;padding-top:7px;padding-bottom:7px;gap:8px}
  .ga-provider-logo{flex:0 0 150px;min-width:150px}
  .ga-provider-logo img{width:150px}
  .ga-provider-header-actions{gap:5px}
  .ga-provider-dashboard-quick{display:none}
  .ga-provider-header-actions .ga-provider-availability{gap:4px}
  .ga-provider-header-actions .ga-availability-btn{padding:7px 7px;font-size:10px}
  .ga-provider-header-actions .ga-availability-btn span{display:none}
  .ga-provider-header-actions .ga-provider-notification-link{min-width:34px;height:34px}
  .ga-provider-header-actions .ga-mobile-menu-toggle{display:block;flex:0 0 40px;width:40px;height:40px;margin-left:0}
  .ga-provider-nav-row{display:none;border-top:1px solid #e4e7ec;box-shadow:0 14px 28px rgba(16,24,40,.12)}
  .ga-provider-nav-row.is-open{display:block}
  .ga-provider-nav-row .ga-provider-nav{min-height:0;display:flex;position:static;flex-direction:column;align-items:stretch;gap:0;overflow:visible;white-space:normal;padding:8px 0}
  .ga-provider-nav-row .ga-provider-nav>a,.ga-provider-nav-row .ga-provider-nav form{width:100%;box-sizing:border-box;margin:0;padding:11px 12px;border-bottom:1px solid #f0f2f5}
  .ga-provider-nav-row .ga-provider-nav>a:last-of-type{border-bottom:1px solid #f0f2f5}
  .ga-provider-nav-row .ga-provider-nav form{border-bottom:0}
  .ga-provider-nav-row .ga-provider-logout{width:100%}
}

@media (max-width:560px){
  .ga-provider-header-main{padding-left:12px;padding-right:12px}
  .ga-provider-logo{flex:0 0 126px;min-width:126px}
  .ga-provider-logo img{width:126px}
  .ga-provider-header-actions{gap:4px}
  .ga-provider-header-actions .ga-availability-btn{min-width:49px;padding:7px 5px;font-size:9px}
  .ga-provider-header-actions .ga-availability-btn b{font-size:8px;margin-left:2px}
  .ga-provider-header-actions .ga-provider-notification-link{min-width:30px}
  .ga-provider-header-actions .ga-mobile-menu-toggle{flex-basis:38px;width:38px;height:38px}
}

/* V48.0.37 — unified platform header branding
   Customer, provider/staff and Super Admin now use the same clean GoAppetite
   wordmark on a white header. Admin navigation keeps its own flex context so
   the logo can never be covered by menu items. */
.ga-admin-header{position:relative;z-index:150;background:#fff;color:#172033;border-bottom:1px solid #e7ebf0;box-shadow:0 2px 14px rgba(16,24,40,.06);padding:9px 0}
.ga-admin-header-inner{min-height:64px;display:flex;align-items:center;gap:22px;min-width:0}
.ga-admin-logo{display:flex;align-items:center;flex:0 0 205px;min-width:205px;text-decoration:none!important}
.ga-admin-logo img{display:block;width:205px;height:auto;max-width:100%;object-fit:contain;filter:none}
.ga-admin-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:1;min-width:0}
.ga-admin-nav>a{display:flex;align-items:center;color:#172033!important;font-size:14px;font-weight:750;padding:10px 13px;border-radius:10px;white-space:nowrap}
.ga-admin-nav>a:hover{background:#e8f6f3;color:#087f73!important;text-decoration:none}
.ga-admin-nav .ga-admin-logout{margin-left:5px;padding:7px 14px!important;color:#172033!important;border-color:#cfd6df!important;background:#fff!important;white-space:nowrap}
.ga-admin-nav .ga-admin-logout:hover{background:#f4f7f9!important;border-color:#aeb8c5!important}
@media(max-width:760px){
  .ga-admin-header{padding:8px 0}
  .ga-admin-header-inner{min-height:58px;gap:10px;position:relative}
  .ga-admin-logo{flex:0 0 165px;min-width:165px}
  .ga-admin-logo img{width:165px}
  .ga-admin-header-inner>.ga-mobile-menu-toggle{display:block;margin-left:auto;flex:0 0 44px}
  .ga-admin-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e1e7ee;border-radius:18px;padding:10px;box-shadow:0 22px 55px rgba(16,24,40,.18);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
  .ga-admin-nav.is-open{display:flex}
  .ga-admin-nav>a,.ga-admin-nav>form{width:100%;box-sizing:border-box}
  .ga-admin-nav>a{padding:12px 13px}
  .ga-admin-nav .ga-admin-logout{width:100%;margin:5px 0 0}
}
@media(max-width:480px){
  .ga-admin-logo{flex-basis:145px;min-width:145px}
  .ga-admin-logo img{width:145px}
}


/* V48.0.38 — authenticated shell isolation and contrast-safe provider UI.
   Restaurant branding belongs to the public restaurant experience; it must
   never recolour the provider/admin operating console. */
.ga-provider-header,
.ga-admin-header{background:#fff!important;color:#172033!important}
.ga-provider-header a,
.ga-provider-header button,
.ga-provider-header span,
.ga-provider-header b,
.ga-admin-header a,
.ga-admin-header button,
.ga-admin-header span,
.ga-admin-header b{color:inherit}
.ga-provider-header-main,.ga-provider-nav-row,.ga-admin-header-inner{background:#fff!important}
.ga-provider-nav-row{border-top:1px solid #e7ebf0!important}
.ga-provider-nav-row .ga-provider-nav>a{color:#172033!important}
.ga-provider-nav-row .ga-provider-nav>a.active,
.ga-provider-nav-row .ga-provider-nav>a:hover{background:#e8f6f3!important;color:#087f73!important}
.ga-provider-dashboard-quick{background:#eef8f5!important;color:#087f73!important;border-color:#cfe9e2!important}
.ga-provider-availability .ga-availability-btn{background:#fff!important;color:#344054!important}
.ga-provider-availability .ga-availability-btn.is-on{background:#effaf5!important;color:#087f50!important}
.ga-provider-availability .ga-availability-btn.is-off{background:#fff6f6!important;color:#b42318!important}
.ga-provider-notification-link{color:#344054!important}
.ga-dashboard-shell,.ga-dashboard-page{background:#f7f9fc!important;color:#122033}
/* Keep the provider dashboard's Customer Page/action content clear of the
   global footer and the fixed mobile bottom navigation. */
.ga-dashboard-page{padding-bottom:48px!important;box-sizing:border-box}
.ga-dashboard-page .ga-info-card,.ga-dashboard-page .ga-action-row{min-width:0}
.ga-dashboard-page .ga-action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ga-dashboard-page .ga-action-row>*{min-width:0}
.ds-footer{clear:both}
@media(max-width:760px){.ga-dashboard-page{padding-bottom:92px!important}.ga-dashboard-page .ga-action-row .btn,.ga-dashboard-page .ga-action-row form{max-width:100%;box-sizing:border-box}.ga-dashboard-page .ga-action-row .btn{white-space:normal}}
.ga-dashboard-shell .ga-dashboard-welcome,
.ga-dashboard-shell .ga-provider-priority,
.ga-dashboard-shell .ga-provider-command-centre,
.ga-dashboard-shell .ga-provider-ai-today,
.ga-dashboard-shell .ga-dashboard-section,
.ga-dashboard-shell .ga-dashboard-bottom-grid{color:#122033}
.ga-dashboard-shell h1,.ga-dashboard-shell h2,.ga-dashboard-shell h3,.ga-dashboard-shell strong,.ga-dashboard-shell b{color:#122033}
.ga-dashboard-shell p,.ga-dashboard-shell .meta,.ga-dashboard-shell small{color:#667085}
.ga-dashboard-shell .ga-provider-priority,
.ga-dashboard-shell .ga-provider-command-centre,
.ga-dashboard-shell .ga-provider-ai-today,
.ga-dashboard-shell .ga-dashboard-tile,
.ga-dashboard-shell .ga-info-card,
.ga-dashboard-shell .ga-live-card,
.ga-dashboard-shell .ga-new-orders-panel{background:#fff!important}
.ga-dashboard-shell .ga-dashboard-tile,
.ga-dashboard-shell .ga-command-tile,
.ga-dashboard-shell .priority-card{color:#122033!important}
.ga-dashboard-shell .ga-dashboard-tile h3,
.ga-dashboard-shell .ga-command-tile b,
.ga-dashboard-shell .ga-command-tile strong,
.ga-dashboard-shell .priority-card b,
.ga-dashboard-shell .priority-card strong{color:#122033!important}
.ga-dashboard-shell .ga-dashboard-tile small,
.ga-dashboard-shell .ga-command-tile small,
.ga-dashboard-shell .priority-card small{color:#667085!important}
.ga-dashboard-shell .btn-outline{color:#172033!important;border-color:#aeb8c5!important;background:#fff!important}
.ga-dashboard-shell .btn-outline:hover{background:#f4f7f9!important}
.ga-dashboard-shell input,
.ga-dashboard-shell select,
.ga-dashboard-shell textarea{background:#fff!important;color:#172033!important}
@media(max-width:820px){
  .ga-provider-header-main{background:#fff!important}
  .ga-provider-nav-row.is-open{background:#fff!important}
  .ga-provider-nav-row .ga-provider-nav>a,.ga-provider-nav-row .ga-provider-nav form{background:#fff!important;color:#172033!important}
}

/* V48.0.63 restaurant-first technology homepage */
.ga-tech-home{background:#f7f9fc;color:#101827;overflow:hidden}.ga-tech-hero{position:relative;background:radial-gradient(circle at 78% 30%,rgba(0,116,212,.22),transparent 30%),linear-gradient(135deg,#071425 0%,#0a1d36 55%,#082c4d 100%);color:#fff;padding:88px 0 72px}.ga-tech-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.ga-tech-copy{position:relative;z-index:2}.ga-tech-badge,.ga-tech-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.ga-tech-badge{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);margin-bottom:22px}.ga-tech-copy h1{font-size:clamp(44px,5.2vw,76px);line-height:1.02;letter-spacing:-.045em;max-width:760px;margin:0}.ga-tech-copy h1 span,.ga-tech-direct h2 span{color:#55b7ff}.ga-tech-lead{font-size:20px;line-height:1.6;color:#cbd8e8;max-width:680px;margin:24px 0}.ga-tech-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.ga-tech-primary,.ga-tech-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;border-radius:12px;text-decoration:none;font-weight:800}.ga-tech-primary{background:#1688e8;color:#fff;box-shadow:0 12px 28px rgba(0,116,212,.28)}.ga-tech-secondary{border:1px solid rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.06)}.ga-tech-proof{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:#b9c9dc;font-size:13px}.ga-tech-dashboard{position:relative}.ga-tech-window{border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.07);backdrop-filter:blur(18px);box-shadow:0 30px 90px rgba(0,0,0,.35);padding:12px;transform:rotate(1deg)}.ga-tech-windowbar{height:34px;display:flex;align-items:center;gap:6px;padding:0 8px;color:#9eb3c9;font-size:11px}.ga-tech-windowbar span{width:7px;height:7px;border-radius:50%;background:#71869c}.ga-tech-windowbar b{margin-left:auto;margin-right:auto;font-weight:700}.ga-tech-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ga-tech-metrics>div,.ga-tech-chart,.ga-tech-bottom{background:rgba(3,15,28,.58);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.ga-tech-metrics small,.ga-tech-chart-label span,.ga-tech-bottom small{display:block;color:#91a6bb;font-size:10px}.ga-tech-metrics strong{display:block;font-size:18px;margin:7px 0}.ga-tech-metrics em{font-size:10px;color:#70d7a0;font-style:normal}.ga-tech-chart{margin-top:8px}.ga-tech-chart-label{display:flex;justify-content:space-between;margin-bottom:16px}.ga-tech-bars{height:130px;display:flex;align-items:end;gap:9px}.ga-tech-bars i{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(to top,#0879d2,#58c2ff);opacity:.9}.ga-tech-bottom{margin-top:8px;display:flex;align-items:center;justify-content:space-between}.ga-tech-bottom>div{display:flex;gap:10px;align-items:center}.ga-tech-bottom>div>span{font-size:20px}.ga-tech-bottom strong{font-size:10px;color:#72dda4}.ga-tech-orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.35}.ga-tech-orb-a{width:280px;height:280px;right:35%;top:-100px;background:#0c8cff}.ga-tech-orb-b{width:220px;height:220px;right:-50px;bottom:-90px;background:#5a4bff}.ga-tech-trust{background:#fff;border-bottom:1px solid #e6ebf2}.ga-tech-trust .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:19px 20px;color:#738196;font-size:10px;font-weight:800;letter-spacing:.12em}.ga-tech-trust .container span:first-child{color:#182538}.ga-tech-section{padding-top:88px;padding-bottom:88px}.ga-tech-heading{max-width:760px;margin-bottom:38px}.ga-tech-kicker{color:#0879d2;margin-bottom:10px}.ga-tech-heading h2,.ga-tech-final h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.035em;margin:0 0 12px}.ga-tech-heading p{font-size:17px;color:#66758a;line-height:1.6;margin:0}.ga-tech-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ga-tech-feature-grid article{position:relative;min-height:215px;padding:23px;border:1px solid #e4eaf2;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(24,49,79,.04)}.ga-tech-feature-grid article>span{position:absolute;right:18px;top:18px;color:#b1bfce;font-size:10px;font-weight:800}.ga-tech-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf5ff;color:#0879d2;font-weight:900;margin-bottom:18px}.ga-tech-feature-grid h3{font-size:17px;margin:0 0 8px}.ga-tech-feature-grid p{font-size:13px;line-height:1.6;color:#69798d;margin:0}.ga-tech-direct{background:#071425;color:#fff;padding:90px 0}.ga-tech-direct-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.ga-tech-direct h2{font-size:clamp(36px,4.5vw,58px);line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}.ga-tech-direct p{color:#b8c8d9;font-size:17px;line-height:1.7;max-width:690px}.ga-tech-points{display:grid;gap:9px;color:#dce8f5;margin-top:22px}.ga-tech-link-card{padding:28px;border-radius:22px;background:linear-gradient(145deg,#0c2847,#0a1c31);border:1px solid rgba(255,255,255,.13);box-shadow:0 25px 70px rgba(0,0,0,.25)}.ga-tech-link-card small{display:block;color:#8fa6be;font-size:10px;letter-spacing:.14em;font-weight:800}.ga-tech-link-card strong{display:block;font-size:16px;margin-top:10px;word-break:break-all}.ga-tech-qr{height:130px;width:130px;margin:22px auto;border-radius:12px;background:#fff;color:#071425;display:grid;place-items:center;font-size:70px}.ga-tech-link-card span{display:block;text-align:center;color:#9fb3c7;font-size:12px}.ga-tech-pricing{padding-bottom:90px}.ga-tech-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.ga-tech-price-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:26px}.ga-tech-price-grid article:nth-child(2){border-color:#72bfff;box-shadow:0 15px 45px rgba(0,116,212,.10)}.ga-tech-price-grid small{font-weight:900;letter-spacing:.12em;color:#0879d2}.ga-tech-price-grid strong{display:block;font-size:32px;margin:15px 0 4px}.ga-tech-price-grid strong span{font-size:12px;color:#7a8899;font-weight:600}.ga-tech-price-grid p{color:#6b7a8e}.ga-tech-price-grid ul{padding-left:18px;color:#48586c;line-height:2}.ga-tech-all{text-align:center;margin-top:18px;padding:15px;border-radius:12px;background:#eef7ff;color:#33526e}.ga-tech-final{background:linear-gradient(135deg,#0a68b8,#0a1d36);color:#fff;text-align:center;padding:90px 0}.ga-tech-final .ga-tech-kicker{color:#a8d8ff}.ga-tech-final h2{max-width:850px;margin:8px auto 14px}.ga-tech-final p{color:#c5d7e9;margin-bottom:24px}.ga-tech-final .ga-tech-cta{justify-content:center}.ga-tech-final .ga-tech-secondary{border-color:rgba(255,255,255,.3)}
@media(max-width:1000px){.ga-tech-hero-grid,.ga-tech-direct-grid{grid-template-columns:1fr}.ga-tech-dashboard{max-width:700px;margin:auto}.ga-tech-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.ga-tech-hero{padding:58px 0 48px}.ga-tech-copy h1{font-size:44px}.ga-tech-lead{font-size:17px}.ga-tech-window{transform:none}.ga-tech-metrics{grid-template-columns:1fr}.ga-tech-feature-grid,.ga-tech-price-grid{grid-template-columns:1fr}.ga-tech-section,.ga-tech-direct{padding-top:58px;padding-bottom:58px}.ga-tech-trust .container{justify-content:flex-start}.ga-tech-proof{display:grid;gap:7px}}

/* V6.1 final responsive navigation: never require horizontal scrolling to reach Logout. */
@media (min-width:1051px){
  .ga-provider-nav-row .ga-provider-nav{overflow:visible;white-space:normal;flex-wrap:wrap;justify-content:flex-start;row-gap:4px;padding:5px 0;}
  .ga-provider-nav-row .ga-provider-nav form{margin-left:auto;}
}
@media (min-width:761px) and (max-width:1050px){
  .ga-provider-header-main .ga-mobile-menu-toggle{display:block;margin-left:auto;}
  .ga-provider-nav-row{display:none;}
  .ga-provider-nav-row.is-open{display:block;}
  .ga-provider-nav-row .ga-provider-nav{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:visible;white-space:normal;padding:8px 0;}
  .ga-provider-nav-row .ga-provider-nav>a,.ga-provider-nav-row .ga-provider-nav form{width:100%;box-sizing:border-box;margin:0;padding:11px 12px;border-bottom:1px solid #f0f2f5;}
  .ga-provider-nav-row .ga-provider-logout{width:100%;}
}
@media(max-width:760px){
  .ga-provider-nav-row .ga-provider-nav{overflow:visible;white-space:normal;}
}

.ga-tech-qr{width:180px;height:180px;margin:22px auto;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;padding:8px;box-sizing:border-box}
.ga-tech-qr img{display:block;width:100%;height:100%;object-fit:contain}
.ga-tech-home + .ds-footer{margin-top:0}
@media(max-width:820px){
  .ga-topbar{padding-top:12px;padding-bottom:9px}
  .ga-main-logo img{width:185px}
}
@media(max-width:560px){
  .ga-topbar{padding-top:12px;padding-bottom:9px}
  .ga-main-logo img{width:178px}
  .ga-tech-direct{padding-top:58px;padding-bottom:58px}
  .ga-tech-link-card{padding:22px}
  .ga-tech-qr{width:170px;height:170px;margin:18px auto}
}

/* V6.2 searchable/sortable report tables */
.ga-table-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-surface,#fff)}.ga-table-search-label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:var(--ds-text)}.ga-table-search-label input{min-width:240px;padding:8px 10px;border:1px solid var(--ds-border);border-radius:9px;background:#fff;color:var(--ds-text)}.ga-table-filter{min-width:150px;padding:8px 10px;border:1px solid var(--ds-border);border-radius:9px;background:#fff;color:var(--ds-text);font-size:11px}.ga-table-count{font-size:11px;color:var(--ds-text-muted);padding-bottom:9px}.ga-sortable-th{cursor:pointer;user-select:none;white-space:nowrap}.ga-sortable-th::after{content:' ↕';opacity:.45;font-size:10px}.ga-sortable-th[aria-sort='asc']::after{content:' ↑';opacity:.9}.ga-sortable-th[aria-sort='desc']::after{content:' ↓';opacity:.9}

.ga-provider-header-logout{margin:0;display:flex;align-items:center}.ga-provider-header-logout button{border:1px solid #dfe5eb;background:#fff;color:#172033;border-radius:10px;width:34px;height:34px;font-size:17px;font-weight:900;cursor:pointer}.ga-provider-header-logout button:hover{background:#f4f8f7;color:#087f73;border-color:#bfe1da}
@media(max-width:760px){.ga-provider-header-logout button{width:36px;height:36px}.ga-provider-header-actions{gap:6px!important}.ga-provider-header-actions .ga-provider-dashboard-quick{display:none!important}}

.ga-tech-final{display:flow-root;overflow:hidden;margin:0!important}
.ga-tech-final + .ds-footer{margin-top:0!important;padding-top:56px!important}
@media(max-width:560px){.ga-tech-final{padding-top:58px!important;padding-bottom:58px!important}.ga-tech-final + .ds-footer{padding-top:42px!important}}

.ga-tech-home{min-height:0!important}.ga-tech-home .ga-tech-hero{padding-bottom:54px}.ga-tech-home .ga-tech-trust{margin:0}.ga-tech-home .ga-tech-section{padding-top:64px;padding-bottom:64px}.ga-tech-home .ga-tech-direct{padding-top:64px;padding-bottom:64px}.ga-tech-home .ga-tech-pricing{padding-bottom:64px}.ga-tech-home .ga-tech-final{padding:64px 0!important;margin:0!important}.ga-tech-home .ga-tech-qr{width:150px;height:150px;margin:20px auto;padding:8px;box-sizing:border-box}.ga-tech-home .ga-tech-qr img{display:block;width:100%;height:100%;object-fit:contain}.ga-tech-home + .ds-footer{margin-top:0!important;padding-top:42px!important}
@media(max-width:680px){.ga-tech-home .ga-tech-hero{padding-bottom:38px}.ga-tech-home .ga-tech-section,.ga-tech-home .ga-tech-direct{padding-top:44px;padding-bottom:44px}.ga-tech-home .ga-tech-final{padding:46px 0!important}.ga-tech-home .ga-tech-qr{width:154px;height:154px}}

@media(max-width:650px){.ga-table-tools{align-items:stretch}.ga-table-search-label{flex:1 1 100%}.ga-table-search-label input{min-width:0;width:100%;box-sizing:border-box}.ga-table-filter{flex:1 1 140px;min-width:0}.ga-table-tools .btn{min-height:38px}}
.ga-topbar{padding-top:max(8px,env(safe-area-inset-top));box-sizing:border-box}
.ga-main-logo img{width:210px!important;max-width:210px!important}
@media(max-width:820px){.ga-topbar{min-height:48px;height:auto;padding-top:max(9px,env(safe-area-inset-top));padding-bottom:7px}.ga-main-logo img{width:175px!important;max-width:175px!important}}
@media(max-width:560px){.ga-topbar{min-height:48px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:8px}.ga-main-logo img{width:172px!important;max-width:172px!important}.ga-mainbar-inner{min-height:74px!important}}

.ga-report-nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px 10px;margin:0 0 14px;border:1px solid var(--ds-border);border-radius:14px;background:var(--ds-surface,#fff);box-shadow:0 4px 14px rgba(0,0,0,.035)}
.ga-report-nav-group{position:relative}.ga-report-nav-group>summary{list-style:none;cursor:pointer;padding:8px 11px;border:1px solid var(--ds-border);border-radius:9px;font-weight:800;font-size:12px;background:#fff}.ga-report-nav-group>summary::-webkit-details-marker{display:none}.ga-report-nav-group>summary:after{content:' ▾';opacity:.55}.ga-report-nav-group[open]>summary{background:#f5f9fc}.ga-report-nav-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;min-width:210px;padding:6px;border:1px solid var(--ds-border);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(15,35,55,.14)}.ga-report-nav-menu a{display:block;padding:9px 10px;border-radius:8px;text-decoration:none;color:inherit;font-size:12px}.ga-report-nav-menu a:hover,.ga-report-nav-menu a.active{background:#eef7ff;color:var(--ds-primary,#0879d2);font-weight:800}.ga-report-home-link{font-weight:800!important}
.ga-report-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:9px 10px;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-surface,#fff)}.ga-report-toolbar-note{font-size:11px;color:var(--ds-text-muted,#6b7280);margin-left:auto}.ga-report-toolbar .btn{min-height:38px}
.ga-report-page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ga-report-page-title h1{margin:0 0 4px}.ga-report-context{font-size:12px;color:var(--ds-text-muted,#6b7280)}
.ga-report-empty{padding:18px;border:1px dashed var(--ds-border);border-radius:12px;background:#fafbfc}.ga-report-definition{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f7f9fb;color:#5f6d7d;font-size:11px;line-height:1.55}
@media(max-width:700px){.ga-report-nav{gap:6px}.ga-report-nav-group{flex:1 1 135px}.ga-report-nav-group>summary{text-align:center}.ga-report-nav-menu{position:static;margin-top:5px;box-shadow:none}.ga-report-toolbar-note{width:100%;margin-left:0}.ga-report-toolbar .btn{flex:1 1 120px;text-align:center}}


/* =====================================================================
   V6.4.51 UX consistency pass — one vertical rhythm across public and
   provider pages. These rules intentionally override page-local drift.
   ===================================================================== */
.ga-topbar{margin:0!important;padding:0!important;min-height:48px;display:flex;align-items:center}
.ga-topbar-inner{min-height:48px;display:flex;align-items:center}
.ga-mainbar{margin:0!important}
.ga-site-header{margin:0!important;padding:0!important}
.ga-site-header + main,.ga-site-header + .ga-page{margin-top:0!important}
main{padding-top:0}
.ga-owner-page,.ga-owner-page.container{margin-top:18px!important;margin-bottom:24px!important}
.ga-owner-page>.card{margin-top:0!important}
.ga-owner-page>.card+.card{margin-top:14px!important}
.ga-dashboard-page{margin-top:18px!important}
.ga-provider-nav-row{margin:0!important;padding:0!important}
@media(max-width:760px){
  .ga-topbar{min-height:48px}
  .ga-topbar-inner{min-height:48px}
  .ga-mainbar{height:72px!important}
  .ga-mainbar-inner{gap:12px!important}
  .ga-main-logo{min-width:0!important}
  .ga-owner-page,.ga-owner-page.container{margin-top:12px!important;margin-bottom:16px!important}
}
/* Search result rows must always breathe and never visually merge. */
.ga-special-results,.ga-promo-item-results{display:flex;flex-direction:column;gap:5px}
.ga-special-result,.ga-promo-result{min-height:48px}

/* Remove accidental page-sized gaps before the footer; sections own their spacing. */
.ds-footer{margin-top:24px!important}
.ga-tech-home + .ds-footer,.ga-tech-final + .ds-footer{margin-top:0!important}

body.ga-authenticated-header-sticky .ga-site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 14px rgba(16,24,40,.10)}
.ga-provider-header{background:#fff;position:relative;z-index:1001}.ga-provider-header-main{min-height:86px}.ga-provider-logo img,.ga-provider-logo .ga-brand-logo{width:230px;max-width:230px;height:64px;object-fit:contain;object-position:left center}.ga-provider-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.ga-provider-nav-row{background:#fff;border-top:1px solid #eef1f4}.ga-provider-nav{min-height:58px}.ga-provider-nav details[open] summary{color:#0b766d}
/* Customer authenticated header remains available while long account/order pages scroll. */
body.ga-has-mobile-bottom-nav .ga-site-header{position:sticky;top:0;z-index:1000}
/* Auth pages do not need market selectors; keep login/register focused on authentication. */
body.ga-auth-page .ga-topbar,body.ga-auth-page .ga-market-mini,body.ga-auth-page .ga-market-details{display:none!important}
@media(max-width:820px){
 .ga-provider-header-main{min-height:76px;padding-top:6px;padding-bottom:6px}.ga-provider-logo img,.ga-provider-logo .ga-brand-logo{width:190px;max-width:190px;height:54px}
 .ga-provider-header-actions{gap:6px}.ga-provider-dashboard-quick span,.ga-availability-btn span,.ga-availability-btn b{display:none}
 .ga-provider-header{position:sticky;top:0;z-index:1100}.ga-provider-nav-row{position:relative}
}
@media(max-width:480px){.ga-provider-logo img,.ga-provider-logo .ga-brand-logo{width:165px;max-width:165px;height:48px}}

@media(min-width:1000px){
  .ga-dashboard-welcome{align-items:center}
  .ga-dashboard-identity{flex:1;min-width:0}
  .ga-dashboard-identity>div:last-child{min-width:0}
  .ga-dashboard-welcome h1{white-space:nowrap;font-size:clamp(28px,3vw,40px);overflow:visible}
}
/* The provider brand is intentionally prominent on desktop; transparent padding in the logo asset is accounted for. */
@media(min-width:1000px){
  .ga-provider-header-main{min-height:78px}
  .ga-provider-logo{flex-basis:230px;min-width:230px}
  .ga-provider-logo img{width:230px}
}
/* Individual live-special actions remain comfortably tappable on mobile. */
@media(max-width:560px){
  .ga-live-special-row{align-items:flex-start}
  .ga-live-special-row .btn{min-height:38px}
  .ga-dashboard-welcome h1{white-space:normal}
}

/* =====================================================================
   V6.4.51 — cross-device UX audit: mobile market bar and interaction rhythm
   ===================================================================== */
@media(max-width:760px){
  /* Keep country, currency and language left-aligned with real breathing room.
     The selector remains one coherent control and never gets centered by the
     container/header rules. */
  .ga-topbar{width:100%;min-height:52px!important;height:auto!important;padding:6px 0!important;overflow:visible}
  .ga-topbar .container{width:100%;max-width:none;padding-left:16px;padding-right:16px;box-sizing:border-box}
  .ga-topbar-inner{width:100%;min-height:40px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
  .ga-market-mini,.ga-market-details{width:100%;max-width:none!important;margin:0!important}
  .ga-market-details summary{width:100%;min-height:40px;padding:7px 0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;text-align:left!important;white-space:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ga-market-details summary::-webkit-scrollbar{display:none}
  .ga-market-details summary .ga-market-flag{display:inline-flex;align-items:center;flex:0 0 auto}
  .ga-market-details summary img{width:24px;height:17px;object-fit:cover;border-radius:2px}
  .ga-market-details summary span{flex:0 0 auto}
  /* The country name may use available width without forcing the currency/language
     controls off-screen or into a visually centered second line. */
  .ga-market-details summary span:nth-child(2){max-width:calc(100vw - 185px);overflow:hidden;text-overflow:ellipsis}
  .ga-market-form{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;box-sizing:border-box}

  /* Mobile typography and touch targets: readable, consistent and easy to tap. */
  body{font-size:16px}
  .btn,button,input,select,textarea{min-height:44px}
  .ga-provider-nav a,.ga-provider-nav summary{min-height:44px;display:flex;align-items:center}
  .ga-live-special-row{padding:12px;gap:12px}
  .ga-special-remove-one{min-height:40px!important;padding:7px 12px!important}
}
@media(max-width:390px){
  .ga-topbar .container{padding-left:12px;padding-right:12px}
  .ga-market-details summary{gap:8px!important}
  .ga-market-details summary span:nth-child(2){max-width:calc(100vw - 170px)}
}
@media(min-width:761px){
  /* Desktop keeps the compact market selector rather than inheriting mobile width. */
  .ga-market-details summary{justify-content:flex-start}
}


/* =====================================================================
   V6.4.51 FINAL RE-AUDIT — responsive alignment and touch usability
   ===================================================================== */
/* Provider dashboard: use available desktop width; wrap only when needed. */
@media (min-width:1000px){
  .ga-dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .ga-dashboard-welcome .ga-dashboard-identity{flex:1 1 auto;max-width:none}
  .ga-dashboard-welcome h1{white-space:nowrap;max-width:none}
  .ga-dashboard-primary-actions{flex:0 0 auto}
}
/* Mobile provider navigation must be readable as grouped, full-width controls. */
@media (max-width:820px){
  .ga-provider-nav.is-open .ga-nav-group{width:100%;border-bottom:1px solid #f0f2f5}
  .ga-provider-nav.is-open .ga-nav-group summary{min-height:46px;display:flex;align-items:center;padding:0 6px;font-weight:800;cursor:pointer}
  .ga-provider-nav.is-open .ga-nav-group>div{padding:0 6px 8px}
  .ga-provider-nav.is-open .ga-nav-group>div a{display:block;min-height:42px;padding:11px 6px;box-sizing:border-box}
  .ga-provider-header-actions{min-width:0}
}
/* Public mobile market selector: preserve left alignment and safe edge spacing. */
@media (max-width:760px){
  .ga-topbar .container{padding-left:18px!important;padding-right:18px!important}
  .ga-market-details summary{justify-content:flex-start!important;text-align:left!important}
  .ga-market-details{overflow:visible}
  .ga-market-form{left:0;right:auto;width:min(320px,calc(100vw - 36px));max-width:calc(100vw - 36px)}
}
/* Comfortable touch targets for interactive controls on narrow screens. */
@media (max-width:560px){
  .btn,.ga-provider-nav.is-open a,.ga-provider-nav.is-open summary{min-height:44px}
  .ga-live-special-row{gap:12px}
  .ga-live-special-row>div{min-width:0;overflow-wrap:anywhere}
  .ga-special-remove-one{min-height:40px!important;padding:7px 11px!important}
  .ga-dashboard-welcome h1{font-size:clamp(28px,8vw,36px);line-height:1.12}
}


:root{--ga-readable-small:13px;}
/* One consistent platform logo scale across public, customer, provider and admin shells. */
.ga-main-logo img,.ga-provider-logo img,.ga-admin-logo img,.ga-brand-logo{
  width:210px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;
}
.ga-main-logo small{font-size:11px!important;}
/* Authenticated headers stay visible with the quick controls while the page scrolls. */
body.ga-authenticated-header-sticky .ga-site-header{
  position:sticky!important;top:0!important;z-index:1000!important;background:#fff!important;
  box-shadow:0 2px 14px rgba(16,24,40,.08);
}
body.ga-authenticated-header-sticky .ga-provider-header{position:relative!important;top:auto!important;}
/* Provider grouped navigation remains attached to the header instead of disappearing down-page. */
body.ga-authenticated-header-sticky .ga-provider-nav-row{position:relative!important;z-index:1001!important;background:#fff!important;}
/* Prevent restaurant identity/actions collisions. Identity gets the available width; actions wrap safely. */
.ga-provider-home-v48.ga-dashboard-welcome{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,auto)!important;
  align-items:center!important;gap:18px!important;
}
.ga-provider-home-v48 .ga-dashboard-identity{min-width:0!important;overflow:hidden;}
.ga-provider-home-v48 .ga-dashboard-identity>div:last-child{min-width:0;}
.ga-provider-home-v48 h1{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%;}
.ga-provider-home-v48 .ga-dashboard-primary-actions{max-width:500px!important;justify-content:flex-end!important;}
/* Legibility floor for operational UI: avoid 10–11px text in normal use. */
.ga-dashboard-shell .meta,.ga-dashboard-page .meta,.ga-provider-nav,.ga-provider-header,.ga-provider-nav-row,
.ga-owner-page .meta,.ga-owner-page label,.ga-owner-page input,.ga-owner-page select,.ga-owner-page textarea{font-size:var(--ga-readable-small)!important;line-height:1.45!important;}
.ga-dashboard-shell .ga-eyebrow,.ga-dashboard-page .ga-eyebrow,.ga-section-kicker{font-size:11px!important;letter-spacing:.13em!important;}
.ga-dashboard-shell .btn,.ga-dashboard-page .btn,.ga-provider-header .btn,.ga-owner-page .btn{font-size:14px!important;}
@media(max-width:1180px){
  .ga-provider-home-v48.ga-dashboard-welcome{grid-template-columns:1fr!important;align-items:flex-start!important;}
  .ga-provider-home-v48 .ga-dashboard-primary-actions{max-width:none!important;justify-content:flex-start!important;}
}
@media(max-width:760px){
  .ga-main-logo img,.ga-provider-logo img,.ga-admin-logo img,.ga-brand-logo{width:172px!important;max-height:48px!important;}
  .ga-main-logo small{display:none!important;}
  body.ga-authenticated-header-sticky .ga-site-header{position:sticky!important;top:0!important;}
  .ga-provider-home-v48 h1{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:clamp(26px,8vw,34px)!important;line-height:1.12!important;}
  .ga-provider-home-v48 .ga-dashboard-primary-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important;}
  .ga-provider-home-v48 .ga-dashboard-primary-actions .btn{width:100%!important;min-width:0!important;padding:10px 8px!important;}
  .ga-dashboard-shell .meta,.ga-dashboard-page .meta,.ga-owner-page .meta{font-size:13px!important;}
}
@media(max-width:430px){
  .ga-main-logo img,.ga-provider-logo img,.ga-admin-logo img,.ga-brand-logo{width:158px!important;}
  .ga-provider-home-v48 .ga-dashboard-primary-actions{grid-template-columns:1fr!important;}
}

/* =====================================================================
   V6.4.51 STRICT RE-AUDIT — final usability, hierarchy and sticky-shell fixes
   ===================================================================== */
/* The authenticated shell must win over older desktop rules that previously
   reset the header to position:relative. Keep provider and customer controls
   available while long pages scroll. */
body.ga-authenticated-header-sticky .ga-site-header,
body.ga-authenticated-header-sticky .ga-site-header.ga-site-header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  background:#fff!important;
  box-shadow:0 2px 16px rgba(16,24,40,.10)!important;
}
body.ga-authenticated-header-sticky .ga-provider-header,
body.ga-authenticated-header-sticky .ga-provider-nav-row{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  background:#fff!important;
}
/* A single visual logo standard: the same brand scale across public,
   customer, provider and admin shells, with safe responsive reductions. */
.ga-main-logo,.ga-provider-logo,.ga-admin-logo{min-width:0!important;}
.ga-main-logo img,.ga-provider-logo img,.ga-provider-logo .ga-brand-logo,.ga-admin-logo img,.ga-brand-logo{
  width:210px!important;
  max-width:210px!important;
  height:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
/* Provider identity uses all remaining space without ever painting beneath
   the action group. Long names stay one line on desktop and truncate safely
   rather than overlapping controls. */
.ga-provider-home-v48.ga-dashboard-welcome{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:20px!important;
  row-gap:14px!important;
  width:100%!important;
}
.ga-provider-home-v48 .ga-dashboard-identity{min-width:0!important;overflow:hidden!important;}
.ga-provider-home-v48 .ga-dashboard-identity h1{
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ga-provider-home-v48 .ga-dashboard-primary-actions{
  min-width:0!important;
  max-width:min(48vw,560px)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
/* Readability floor: operational labels and secondary text should not fall
   below 12px; primary controls remain at least 14px. */
.ga-dashboard-shell .meta,.ga-dashboard-page .meta,.ga-owner-page .meta{font-size:13px!important;line-height:1.5!important;}
.ga-provider-nav>a,.ga-provider-nav summary{font-size:14px!important;}
.ga-provider-header-actions,.ga-main-actions{font-size:14px;}
.ga-dashboard-shell .btn,.ga-dashboard-page .btn,.ga-owner-page .btn,.ga-provider-header .btn{font-size:14px!important;line-height:1.25!important;}
/* Mobile market selector: preserve left alignment, breathing room and one
   predictable scroll-free summary row. */
@media(max-width:760px){
  body.ga-authenticated-header-sticky .ga-site-header{position:sticky!important;top:0!important;}
  .ga-topbar .container{padding-left:18px!important;padding-right:18px!important;}
  .ga-market-details{width:100%;overflow:visible!important;}
  .ga-market-details summary{width:100%;justify-content:flex-start!important;text-align:left!important;gap:9px!important;}
  .ga-market-details summary span:nth-child(2){flex:1 1 auto!important;min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .ga-main-logo img,.ga-provider-logo img,.ga-provider-logo .ga-brand-logo,.ga-admin-logo img,.ga-brand-logo{width:172px!important;max-width:172px!important;height:48px!important;max-height:48px!important;}
  .ga-provider-home-v48.ga-dashboard-welcome{grid-template-columns:1fr!important;align-items:start!important;}
  .ga-provider-home-v48 .ga-dashboard-identity h1{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:clamp(27px,8vw,35px)!important;}
  .ga-provider-home-v48 .ga-dashboard-primary-actions{max-width:none!important;width:100%!important;justify-content:flex-start!important;}
}
@media(max-width:430px){
  .ga-main-logo img,.ga-provider-logo img,.ga-provider-logo .ga-brand-logo,.ga-admin-logo img,.ga-brand-logo{width:158px!important;max-width:158px!important;height:44px!important;max-height:44px!important;}
  .ga-provider-home-v48 .ga-dashboard-primary-actions{display:grid!important;grid-template-columns:1fr!important;}
}


/* =====================================================================
   V6.4.51 — strict final usability fixes: dashboard identity, POS pricing
   ===================================================================== */
@media (min-width:1000px){
  .ga-dashboard-welcome{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px}
  .ga-dashboard-welcome .ga-dashboard-identity{min-width:0;width:100%}
  .ga-dashboard-welcome h1{font-size:clamp(24px,2.35vw,36px)!important;line-height:1.12!important;white-space:nowrap!important;letter-spacing:-.028em!important;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .ga-dashboard-primary-actions{min-width:0;max-width:46vw;display:flex;justify-content:flex-end;flex-wrap:wrap}
}
@media (min-width:1280px){.ga-dashboard-primary-actions{flex-wrap:nowrap;max-width:none}.ga-dashboard-primary-actions .btn{white-space:nowrap}}
@media (max-width:999px){.ga-dashboard-welcome h1{white-space:normal!important;overflow:visible;text-overflow:clip}}
.ga-pos-item .ga-pos-variant-price{display:block;margin-top:5px;color:#087f73!important;font-size:11px!important;font-weight:800;line-height:1.35}


.ga-channel-status{min-width:0}
.ga-channel-status .num{font-size:clamp(20px,2.15vw,26px);line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;hyphens:none;min-width:max-content}
.ga-channel-status .label{line-height:1.35;overflow-wrap:normal;word-break:normal}
@media(max-width:640px){.ga-channel-status .num{font-size:22px;min-width:0}.ga-channel-status .label{font-size:13px}}

.ga-pos-variant-price{display:block!important;line-height:1.45!important}.ga-pos-variant-price span{display:block!important;white-space:normal!important}

/* Authentication and checkbox alignment */
.ga-password-wrap{position:relative;display:flex;align-items:center}.ga-password-wrap input{width:100%;padding-right:92px}.ga-password-toggle{position:absolute;right:8px;border:0;background:transparent;color:#475467;font-weight:700;cursor:pointer;padding:6px 8px}.ga-remember-row{display:flex;align-items:center;gap:7px;margin:4px 0 14px;font-size:14px}.ga-remember-row input{margin:0;width:auto;flex:0 0 auto}.ga-check-row label{display:inline-flex;align-items:center;gap:6px;line-height:1.2}.ga-check-row label input[type=checkbox]{margin:0;flex:0 0 auto;vertical-align:middle}

/* Customer QR marketplace placeholder */
.ga-discover-qr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ga-discover-qr-grid .card{padding:22px}.ga-qr-manual{display:flex;gap:8px}.ga-qr-manual input{min-width:0;flex:1}.ga-marketplace-soon{margin:24px 0;padding:26px;border-radius:20px;background:linear-gradient(135deg,#ecfdf5,#eff6ff);display:flex;gap:18px;align-items:flex-start}.ga-marketplace-soon>span{font-size:42px}@media(max-width:800px){.ga-discover-qr-grid{grid-template-columns:1fr}.ga-qr-manual{flex-direction:column}}
/* Account security and QR UX */
.ga-qr-action-card{display:flex;flex-direction:column;gap:10px}.ga-qr-icon{font-size:34px}.ga-upload-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;cursor:pointer}.ga-qr-camera-wrap{margin-top:14px}.ga-qr-camera-wrap video{width:100%;max-height:360px;background:#111;border-radius:16px;display:block;margin-bottom:10px}.ga-security-card{max-width:640px;display:grid;gap:16px;padding:24px}.ga-security-card label{display:grid;gap:7px;font-weight:700}.ga-password-field{display:flex;gap:8px}.ga-password-field input{flex:1;min-width:0}.ga-password-toggle{border:1px solid var(--ds-border);background:#fff;border-radius:10px;padding:0 14px;cursor:pointer;font-weight:700}.ga-security-page .alert{max-width:640px;margin:0 0 16px}.ga-customer-main-actions{gap:10px}@media(max-width:720px){.ga-password-field{align-items:stretch}.ga-password-toggle{padding:0 11px}.ga-discover-qr-grid{grid-template-columns:1fr!important}}


*,*::before,*::after{box-sizing:border-box}
.ga-dashboard-shell,.ga-dashboard-page,.ga-owner-page,.container{min-width:0}
/* One button geometry system: text/icons are centered both vertically and horizontally. */
.btn,.ga-provider-header button,.ga-owner-page button,.ga-dashboard-page button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.2!important;vertical-align:middle;box-sizing:border-box;min-height:42px}
.btn{gap:7px}
.btn>span{display:inline-flex;align-items:center;justify-content:center}
.ga-provider-header-logout button{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
/* Avoid duplicate utility/navigation clutter and keep the remaining logout control consistent. */
.ga-provider-header-actions{min-width:0;flex-wrap:wrap}
/* More tools belongs on the provider dashboard only and is presented as a compact grid. */
.ga-provider-more-panel{max-width:1120px;margin:26px auto 44px;padding:0 12px}
.ga-provider-more-panel h2{margin:0 0 6px;font-size:24px;line-height:1.2}
.ga-provider-more-panel>p{margin:0 0 14px}
.ga-provider-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ga-provider-more-grid a{display:flex;align-items:center;min-height:52px;padding:12px 14px;border:1px solid var(--ds-border,#dfe5eb);border-radius:12px;background:#fff;color:var(--ds-text,#172033);font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.ga-provider-more-grid a:hover{border-color:#9fcfc7;background:#f5fbfa}
/* Compact desktop order filtering: fields form a responsive grid instead of a tall vertical stack. */
.ga-orders-filter-form{margin-top:20px;display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(130px,1fr)) auto;gap:8px;align-items:center}
.ga-orders-filter-form input,.ga-orders-filter-form select{width:100%;min-width:0;min-height:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--ds-border);background:#fff}
.ga-orders-filter-form .btn{width:100%;white-space:nowrap}
/* Category actions are intentionally kept in the page-level toolbar to prevent repeated clutter. */
.ga-menu-category-head{min-width:0}
/* Customer menu empty state explains active filters and gives an immediate recovery action. */
.ga-menu-empty{display:none;flex-direction:column;align-items:center;gap:9px}
.ga-menu-empty strong{font-size:16px;color:var(--rp-readable-text,#172033)}
.ga-menu-empty span{max-width:520px}
.ga-menu-empty .btn{margin-top:2px}
/* Prevent long headings/descriptions/links from forcing horizontal page overflow. */
.ga-owner-head>*,.ga-owner-hero>*,.ga-provider-header-main>*,.ga-menu-category-head>*,.card>*,.ga-provider-more-grid>*{min-width:0}
.ga-owner-page h1,.ga-owner-page h2,.ga-dashboard-page h1,.ga-dashboard-page h2,.ga-provider-more-panel h2{overflow-wrap:anywhere}
body{overflow-x:hidden}
@media(max-width:1100px){.ga-orders-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.ga-orders-filter-form input{grid-column:span 2}.ga-provider-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.btn,.ga-provider-header button,.ga-owner-page button,.ga-dashboard-page button{min-height:44px}.ga-provider-more-grid{grid-template-columns:1fr}.ga-orders-filter-form{grid-template-columns:1fr}.ga-orders-filter-form input{grid-column:auto}.ga-orders-filter-form .btn{min-height:44px}}


/* Web v8.0.0 — customer mobile reliability and responsive location system */
:root{--ga-mobile-bottom-safe:92px}
.ga-location-summary,.ga-location-summary-main,.ga-location-selected,.ga-active-location,.location-banner,.ga-location-card,.ga-location-manual{min-width:0}
.ga-location-summary-main,.ga-location-selected,.ga-active-location,.location-banner,.ga-location-result,.ga-home-location-result{overflow-wrap:anywhere;word-break:normal}
.ga-location-summary-main p,.ga-location-selected,.ga-active-location .meta{white-space:normal;max-width:100%}
.ga-use-current-location,.ga-location-change,.location-pill,.ga-checkout-location-actions .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.ga-checkout-location-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.ga-checkout-continue{margin-top:12px;width:100%;min-height:50px;display:flex;align-items:center;justify-content:center}
.ga-payment-option{min-width:0;line-height:1.45}
.ga-payment-option>*{min-width:0}.ga-payment-option .meta{overflow-wrap:anywhere}
@media(max-width:760px){
  .ga-location-summary{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;overflow:visible!important}
  .ga-location-summary-main{width:100%!important;max-width:100%!important}
  .ga-use-current-location,.ga-location-change{width:100%!important;justify-content:center!important;text-align:center!important;min-height:48px!important}
  .ga-checkout-location-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
  .ga-checkout-location-actions .btn{width:100%;min-width:0;padding:10px 8px;font-size:13px;text-align:center}
  .ga-payment-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:14px}
  .ga-payment-option input{margin:4px 0 0}
  .ga-checkout-shell{padding-bottom:calc(var(--ga-mobile-bottom-safe) + env(safe-area-inset-bottom))}
  .ga-place-order{position:sticky!important;bottom:calc(var(--ga-mobile-bottom-safe) + env(safe-area-inset-bottom));z-index:900;width:100%;margin-top:12px}
}
@media(max-width:420px){.ga-checkout-location-actions{grid-template-columns:1fr}.ga-checkout-location-actions .btn{font-size:14px}.ga-location-card-head{align-items:flex-start;flex-direction:column}.ga-location-badge{max-width:100%;overflow-wrap:anywhere}}

/* Cookie consent */
.ga-cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:10000;max-width:920px;margin:0 auto;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#10233d;color:#f8fafc;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.ga-cookie-banner[hidden]{display:none!important}.ga-cookie-banner h2{margin:0 0 6px;font-size:18px}.ga-cookie-banner p{margin:0;color:#cbd5e1;line-height:1.55}.ga-cookie-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.ga-cookie-actions .btn{min-height:42px}.ga-cookie-preferences{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}.ga-cookie-preferences[hidden]{display:none!important}.ga-cookie-preferences label{display:flex;gap:10px;align-items:flex-start;margin:9px 0;color:#e5edf7}.ga-cookie-preferences input{margin-top:3px}.ga-cookie-link{color:#8de7d9;text-decoration:underline}
@media(max-width:760px){.ga-cookie-banner{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:16px}.ga-cookie-actions{display:grid;grid-template-columns:1fr 1fr}.ga-cookie-actions .btn:last-child{grid-column:1/-1}}

/* ---- GoAppetite thermal receipt & KOT printing ----
   Standard restaurant thermal-printer layout: optimized for 80 mm rolls,
   while remaining usable on 58 mm printers and ordinary A4 browser printing. */
.ga-thermal-document{max-width:80mm;margin-left:auto;margin-right:auto;background:#fff;color:#000}
.receipt-platform-footer{margin-top:14px;padding-top:8px;border-top:1px dashed #8a8a8a;text-align:center;font-size:10px;line-height:1.35;color:#333;font-weight:600}
.receipt-platform-footer span{font-size:9px;font-weight:400}
.receipt-custom-footer{text-align:center;margin-top:14px}
@media print{
  /* Never print the GoAppetite website chrome around operational documents. */
  .ds-header,.ds-footer,.ga-mobile-bottom-nav,.ga-mobile-menu-toggle,.ga-install-prompt,.no-print,.actions{display:none!important}
  body.ga-has-mobile-bottom-nav{padding-bottom:0!important}
  .container{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
  .ga-thermal-document,.receipt-box,.ga-pos-receipt{width:80mm!important;max-width:80mm!important;margin:0 auto!important;padding:4mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}
  .receipt-box img{max-width:18mm!important;max-height:18mm!important}
  .receipt-row{font-size:11px!important;line-height:1.35!important}
  .receipt-total{font-size:14px!important}
  .ga-pos-receipt table{font-size:10px!important}
  .receipt-platform-footer{font-size:9px!important}
  .receipt-platform-footer span{font-size:8px!important}
  @page{size:80mm auto;margin:0}
}
@media print and (max-width:70mm){
  .ga-thermal-document,.receipt-box,.ga-pos-receipt{width:58mm!important;max-width:58mm!important;padding:3mm!important}
  .receipt-row{font-size:9px!important}
  .receipt-total{font-size:12px!important}
  @page{size:58mm auto;margin:0}
}

/* Provider settings navigation */.ga-profile-section-links{display:flex;gap:10px;flex-wrap:wrap}.ga-profile-section-links .btn{min-width:190px;text-align:center}@media(max-width:640px){.ga-profile-section-links{flex-direction:column}.ga-profile-section-links .btn{width:100%;min-width:0}}


/* V8.0.67 unified modern file picker treatment */
input[type="file"]{max-width:100%;padding:.65rem;border:1px dashed rgba(99,102,241,.45);border-radius:14px;background:rgba(99,102,241,.04);font:inherit;cursor:pointer}
input[type="file"]::file-selector-button{margin-right:.75rem;border:0;border-radius:10px;padding:.6rem .85rem;font:inherit;font-weight:700;cursor:pointer;background:#111827;color:#fff}
input[type="file"]:hover{border-color:rgba(99,102,241,.8);background:rgba(99,102,241,.08)}
input[type="file"]:focus-visible{outline:3px solid rgba(99,102,241,.25);outline-offset:2px}

/* V8.0.70 responsive regression hardening */
@media (max-width: 700px){
  .container{width:min(100% - 24px, 1200px);box-sizing:border-box}
  .card,.panel{min-width:0}
  .card-grid{grid-template-columns:1fr!important}
  .form-row,.ga-form-row{flex-direction:column!important;align-items:stretch!important}
  .form-row>[style*="min-width"],.ga-form-row>[style*="min-width"]{min-width:0!important;width:100%!important}
  input,select,textarea{max-width:100%;box-sizing:border-box}
  .btn{max-width:100%;white-space:normal}
  .ga-file-picker{max-width:100%;flex-wrap:wrap}
  .ga-file-label{max-width:100%;box-sizing:border-box;text-align:center}
  table{max-width:100%}
  .table-wrap,.table-responsive,[style*="overflow:auto"]{max-width:100%}
}

/* V8.0.71 notification readability hardening */
.ga-notification-dropdown,.ga-notification-menu,[data-ga-notification-panel]{color:#172033!important;background:#fff!important}.ga-notification-dropdown *,.ga-notification-menu *,[data-ga-notification-panel] *{color:inherit}.ga-notification-dropdown .meta,.ga-notification-menu .meta{color:#475467!important}.ga-notification-dropdown a,.ga-notification-menu a{white-space:normal!important;overflow-wrap:anywhere;line-height:1.45}@media(max-width:640px){.ga-notification-dropdown,.ga-notification-menu,[data-ga-notification-panel]{max-width:calc(100vw - 24px)!important;width:calc(100vw - 24px)!important;right:12px!important;left:auto!important}}


/* V12.0 — restaurant-first customer shell and mobile safe-area hardening */
.ga-customer-restaurant-preferences{margin:16px 0;padding:16px;border:1px solid var(--ds-border);border-radius:16px;background:#f8fbfc}
.ga-customer-restaurant-preferences h3{margin:0 0 4px;font-size:16px}
.ga-customer-restaurant-preferences .form-group:last-child{margin-bottom:0}
.ga-report-nav-group[open]>summary{outline:2px solid rgba(15,155,142,.12)}
@media(max-width:760px){body.ga-has-mobile-bottom-nav main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.ds-footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.ga-mobile-bottom-nav{z-index:1200}.ga-provider-nav-row{z-index:1100}.ga-report-nav-menu{max-width:100%;overflow-wrap:anywhere}}

.ga-login-intro{display:grid;gap:4px;margin:0 0 14px;padding:13px 14px;border:1px solid rgba(15,155,142,.16);border-radius:14px;background:rgba(15,155,142,.05)}.ga-login-intro strong{font-size:14px}.ga-login-intro span{font-size:12px;color:#667085;line-height:1.5}.ga-otp-login-form .btn,.ga-otp-login-form input{min-height:44px}

/* V12.0 multi-branch controls — compact by design so a single-branch
   restaurant never gets a new dashboard panel or extra navigation burden. */
.ga-branch-switcher{display:flex;align-items:center;margin:0;min-width:0}.ga-branch-switcher select{max-width:190px;height:38px;padding:0 30px 0 11px;border:1px solid var(--ds-border);border-radius:10px;background:#fff;color:var(--ds-text);font:inherit;font-size:12px;font-weight:700;box-shadow:0 1px 2px rgba(11,37,69,.04);outline:none}.ga-branch-switcher select:focus{border-color:var(--ds-teal);box-shadow:0 0 0 3px rgba(15,155,142,.12)}
.ga-branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.ga-branch-card{border:1px solid var(--ds-border);border-radius:16px;padding:16px;background:var(--ds-surface);box-shadow:0 5px 18px rgba(11,37,69,.05)}.ga-branch-card.is-current{border-color:rgba(15,155,142,.45);box-shadow:0 8px 22px rgba(15,155,142,.08)}.ga-branch-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ga-branch-card-head strong{display:block;font-size:16px}.ga-branch-card-head span:not(.ga-branch-status){display:block;color:var(--ds-text-muted);font-size:12px;margin-top:3px}.ga-branch-status{display:inline-flex!important;align-items:center;white-space:nowrap;padding:5px 8px;border-radius:999px;font-size:11px!important;font-weight:800}.ga-branch-status.is-live{background:#e9f8f2;color:#137957}.ga-branch-status.is-pending{background:#fff5e9;color:#9a5b08}.ga-branch-code{margin-top:14px;padding:9px 10px;border-radius:10px;background:#f8fafc;color:var(--ds-text-muted);font-size:12px}.ga-branch-code strong{color:var(--ds-text);letter-spacing:.08em}.ga-branch-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.ga-current-pill{padding:9px 11px;border-radius:10px;background:#e8f6f3;color:#087f73;font-size:12px;font-weight:800}
@media(max-width:760px){.ga-branch-switcher{width:100%;order:3}.ga-branch-switcher select{width:100%;max-width:none}.ga-branch-card-actions .btn{flex:1;min-width:145px}.ga-branch-grid{grid-template-columns:1fr}}
.ga-list-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.ga-list-tools input,.ga-list-tools select{min-height:40px;padding:9px 11px;border:1px solid var(--ds-border);border-radius:10px;background:#fff;color:var(--ds-text);font:inherit;font-size:13px;outline:none}.ga-list-tools input{flex:1;min-width:180px}.ga-list-tools input:focus,.ga-list-tools select:focus{border-color:var(--ds-teal);box-shadow:0 0 0 3px rgba(15,155,142,.12)}table th.ga-sortable{cursor:pointer;user-select:none}table th.ga-sortable:hover{background:#f5f8fa}table th.ga-sortable:focus-visible{outline:2px solid var(--ds-teal);outline-offset:-2px}

/* V12.0.9 — responsive header hardening
   Multi-branch provider controls must never compete with the logo for
   horizontal space on phones. Branch switching remains available inside
   the opened mobile navigation. */
.ga-mobile-branch-switcher{display:none}
@media (max-width:820px){
  .ga-provider-header-actions .ga-branch-switcher{display:none}
  .ga-mobile-branch-switcher{display:flex;flex-direction:column;gap:6px;width:100%;padding:4px 12px 12px;margin:0;border-bottom:1px solid #f0f2f5;box-sizing:border-box}
  .ga-mobile-branch-switcher label{font-size:11px;font-weight:800;color:#667085}
  .ga-mobile-branch-switcher select{width:100%;min-height:44px;box-sizing:border-box;padding:9px 11px;border:1px solid #dfe5eb;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:13px;font-weight:700}
}


/* V12.0.9 strict responsive shell: provider header must never overflow a phone.
   Non-essential header actions remain available in the opened provider menu. */
@media (max-width: 820px){
  .ga-provider-header-main{gap:8px!important;min-width:0!important;}
  .ga-provider-logo{flex:0 1 132px!important;min-width:0!important;max-width:132px!important;}
  .ga-provider-logo img,.ga-provider-logo .ga-brand-logo{width:132px!important;max-width:132px!important;height:44px!important;}
  .ga-provider-header-actions{flex:1 1 auto!important;min-width:0!important;gap:5px!important;}
  .ga-provider-header-actions .ga-branch-switcher,
  .ga-provider-header-actions .ga-provider-customer-view,
  .ga-provider-header-actions .ga-provider-notification-link,
  .ga-provider-header-actions .ga-provider-header-logout{display:none!important;}
  .ga-provider-header-actions .ga-provider-availability{margin-left:auto!important;gap:4px!important;}
  .ga-provider-header-actions .ga-availability-btn{min-width:42px!important;padding:7px 5px!important;}
  .ga-provider-header-actions .ga-availability-btn span{display:none!important;}
  .ga-provider-header-actions .ga-availability-btn b{display:inline!important;font-size:8px!important;margin-left:2px;}
  .ga-provider-header-actions .ga-mobile-menu-toggle{display:block!important;flex:0 0 40px!important;width:40px!important;height:40px!important;margin-left:2px!important;}
}
@media (max-width: 390px){
  .ga-provider-logo,.ga-provider-logo img,.ga-provider-logo .ga-brand-logo{width:116px!important;max-width:116px!important;}
  .ga-provider-header-actions .ga-availability-btn{min-width:38px!important;padding-left:4px!important;padding-right:4px!important;}
}

/* V12.0.9 customer bottom navigation: reserve independent tap targets. */
@media(max-width:760px){
  .ga-mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding-left:6px!important;padding-right:6px!important;box-sizing:border-box!important;}
  .ga-mobile-bottom-nav a{min-width:0!important;width:100%!important;padding:0 3px!important;box-sizing:border-box!important;}
  .ga-mobile-bottom-nav a span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
}

@media(min-width:821px){.ga-provider-mobile-logout{display:none!important}}
@media(max-width:820px){.ga-provider-nav.is-open .ga-provider-mobile-logout{display:block;padding:10px 6px;border-top:1px solid #eef1f4;margin-top:4px}.ga-provider-mobile-logout .btn{width:100%;min-height:44px}}


/* V12.0.9 — strict visual UX correction from external review. */
.ga-provider-nav-row>.container{display:flex;align-items:center;justify-content:center;overflow:visible}
.ga-provider-nav-row .ga-provider-nav{width:100%;justify-content:center!important;gap:9px!important;overflow:visible!important;position:relative}
.ga-provider-nav .ga-nav-group{position:relative;flex:0 0 auto}
.ga-provider-nav .ga-nav-group>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 11px;border-radius:10px;color:#172033;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap}
.ga-provider-nav .ga-nav-group>summary::-webkit-details-marker{display:none}
.ga-provider-nav .ga-nav-group>summary:after{content:'⌄';margin-left:6px;font-size:12px;opacity:.55;transform:translateY(-1px)}
.ga-provider-nav .ga-nav-group[open]>summary{background:#e8f6f3;color:#087f73}
.ga-provider-nav .ga-nav-group>div{position:absolute;left:0;top:calc(100% + 2px);min-width:220px;padding:7px;display:none;background:#fff;border:1px solid #dfe6eb;border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.16);z-index:1200;white-space:normal}
.ga-provider-nav .ga-nav-group[open]>div{display:grid;gap:2px}
.ga-provider-nav .ga-nav-group>div:before{content:'';position:absolute;left:0;right:0;top:-8px;height:8px}
.ga-provider-nav .ga-nav-group>div a{display:block;padding:10px 11px;border-radius:9px;color:#172033;text-decoration:none;font-size:13px;font-weight:700;line-height:1.25}
.ga-provider-nav .ga-nav-group>div a:hover,.ga-provider-nav .ga-nav-group>div a.active{background:#eef8f5;color:#087f73}
.ga-provider-mobile-logout{display:none!important}
.ga-orders-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ga-orders-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ga-orders-head-actions .btn{min-height:42px}
.ga-orders-head-actions label{display:inline-flex;align-items:center;gap:5px;min-height:42px;white-space:nowrap}
.ga-orders-head-actions #sound-toggle{min-height:auto}
.ga-orders-filter-form{gap:10px!important;padding:14px;border:1px solid #e3e8ee;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(16,24,40,.04)}
.ga-menu-empty[style*="display:block"]{display:flex!important}
.restaurant-page .ga-menu-category-heading[hidden],.restaurant-page .ga-menu-item-grid[hidden]{display:none!important}
.restaurant-page .ga-menu-item-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch}
.restaurant-page .ga-menu-item-grid .restaurant-card{min-width:0;text-align:left!important}
.restaurant-page .ga-menu-card-media{height:145px!important}
.restaurant-page .ga-menu-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.restaurant-page .ga-menu-card-body{min-height:150px!important;text-align:left!important;padding:13px!important}
.restaurant-page .ga-menu-card-body h3,.restaurant-page .ga-menu-card-body .meta,.restaurant-page .ga-menu-card-price,.restaurant-page .ga-menu-card-variant-summary{text-align:left!important}
.restaurant-page .ga-menu-card-body h3{margin-left:0!important;margin-right:0!important}
.restaurant-page .ga-menu-card-price{justify-content:space-between!important;align-items:center!important}
.ga-branch-location-block{padding:16px;border:1px solid #dfe7e5;border-radius:16px;background:#fbfdfd}
.ga-branch-location-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.ga-branch-location-head p{margin:4px 0 0;max-width:760px}
.ga-branch-location-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.ga-branch-location-tools input{width:100%;box-sizing:border-box;min-height:44px}
.ga-branch-location-tools .btn{min-height:44px;white-space:nowrap}
.ga-branch-location-block .ga-location-suggestions{position:relative;z-index:20;display:grid;gap:3px;margin-top:5px}
.ga-branch-location-block .ga-location-suggestions button{display:block;width:100%;padding:10px 12px;text-align:left;background:#fff;border:1px solid #e4e9ed;border-radius:9px;cursor:pointer}
.ga-branch-location-block .ga-location-suggestions button:hover{background:#eef8f5}
.ga-branch-location-block .ga-profile-map{height:300px;margin-top:10px;border-radius:14px;overflow:hidden;border:1px solid #dfe5ea}
.ga-branch-location-coords{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px;font-size:11px;color:#667085}
.ga-branch-location-coords strong{color:#172033}
.ga-branch-location-coords a{font-weight:800;color:#087f73;text-decoration:none}
@media(max-width:1100px){.restaurant-page .ga-menu-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){
 .ga-provider-nav-row>.container{display:block}
 .ga-provider-nav-row .ga-provider-nav{width:auto;justify-content:flex-start!important;overflow:visible!important}
 .ga-provider-nav .ga-nav-group{width:100%;}
 .ga-provider-nav .ga-nav-group>summary{width:100%;justify-content:space-between;box-sizing:border-box}
 .ga-provider-nav .ga-nav-group>div{position:static;min-width:0;box-shadow:none;border:0;border-radius:0;padding:0 6px 8px;background:#fafcfc}
 .ga-provider-nav .ga-nav-group>div:before{display:none}
 .ga-provider-nav .ga-nav-group[open]>div{display:grid}
 .ga-provider-mobile-logout{display:block!important}
 .ga-orders-head{align-items:flex-start}
 .ga-orders-head-actions{width:100%;justify-content:flex-start}
 .restaurant-page .ga-menu-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .ga-branch-location-tools{grid-template-columns:1fr}
}
@media(max-width:480px){
 .restaurant-page .ga-menu-item-grid{grid-template-columns:1fr!important}
 .restaurant-page .ga-menu-card-media{height:190px!important}
 .ga-branch-location-head{flex-direction:column}
}


/* V12.0.10 — provider-focused public footer: no customer discovery/concierge links. */
.ga-provider-focused-footer{background:linear-gradient(145deg,#071a33,#0b3155)!important;color:#cbd8e8!important;border-top:1px solid rgba(93,210,184,.18)!important;}
.ga-provider-focused-footer .footer-grid{grid-template-columns:1.55fr repeat(3,minmax(150px,1fr))!important;gap:34px!important;}
.ga-provider-focused-footer .footer-brand a{color:#fff!important;}
.ga-provider-focused-footer .footer-grid h4{color:#72dfcc!important;}
.ga-provider-focused-footer .footer-grid a{color:#d7e3ef!important;}
.ga-provider-focused-footer .footer-grid a:hover,.ga-provider-focused-footer .footer-grid a:focus-visible{color:#fff!important;}
.ga-provider-focused-footer .footer-grid p{color:#b9c8d8!important;}
@media(max-width:980px){.ga-provider-focused-footer .footer-grid{grid-template-columns:1.3fr repeat(2,minmax(140px,1fr))!important;}}
@media(max-width:760px){.ga-provider-focused-footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:24px 20px!important;}}
@media(max-width:480px){.ga-provider-focused-footer .footer-grid{grid-template-columns:1fr!important;gap:20px!important;}}

/* V12.1.0 — complete table/seat POS UX */
.ga-pos-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ga-pos-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ga-pos-inline-form input,.ga-table-add-form input{padding:10px 11px;border:1px solid var(--ds-border);border-radius:10px;min-width:100px;box-sizing:border-box}.ga-table-add-form input:nth-of-type(2){min-width:180px}.ga-pos-tables-panel{margin-top:14px}.ga-pos-floor{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:14px}.ga-pos-table-card{border:1px solid var(--ds-border);border-radius:16px;padding:14px;background:#fff;display:grid;gap:11px;min-width:0}.ga-pos-table-card.is-occupied{border-color:#f0c58a;background:#fffaf2}.ga-pos-table-card.is-disabled{opacity:.68}.ga-pos-table-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ga-pos-table-card-top strong{font-size:17px}.ga-pos-table-card-identity{display:grid;gap:3px;min-width:0;flex:1}.ga-pos-table-title{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}.ga-pos-table-code{display:block;line-height:1.3}.ga-pos-status{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px;background:#eef7f5;white-space:nowrap}.is-occupied .ga-pos-status{background:#fff0df}.ga-pos-table-session{display:grid;gap:3px;padding:9px;border-radius:10px;background:rgba(255,255,255,.75)}.ga-pos-table-actions,.ga-pos-round-actions{display:flex;gap:7px;flex-wrap:wrap}.ga-pos-table-actions .btn,.ga-pos-round-actions .btn{flex:1;min-width:120px}.ga-start-table-form{display:flex;align-items:end;gap:8px}.ga-start-table-form label{display:grid;gap:4px;font-size:11px;font-weight:800;min-width:0;flex:1}.ga-start-table-form input{width:100%;padding:9px;border:1px solid var(--ds-border);border-radius:9px}.ga-table-status-form select{width:100%;padding:7px 8px;border:1px solid var(--ds-border);border-radius:9px;background:#fff}.ga-pos-search-row{display:flex;gap:8px;margin-bottom:10px}.ga-pos-search-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--ds-border);border-radius:10px}.ga-pos-order-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid #d8e9e5;border-radius:12px;background:#f4fbf9}.ga-pos-context-live{font-size:10px;font-weight:900;color:#087f73;letter-spacing:.08em}.ga-pos-round-banner{display:grid;gap:3px;padding:10px 12px;border-radius:11px;background:#eef8f6;margin-bottom:10px}.ga-pos-help{font-size:11px;color:#667085;line-height:1.45;margin-top:8px}.ga-pos-existing{margin-top:16px;border-top:1px solid var(--ds-border);padding-top:14px}.ga-pos-existing h3{margin:0 0 9px}.ga-pos-existing-round{padding:9px 0;border-bottom:1px dashed #dfe5eb}.ga-pos-existing-round>strong{display:block;margin-bottom:5px}.ga-pos-existing-round>div{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:4px 0}.ga-pos-existing-total{display:flex;justify-content:space-between;padding-top:11px}.ga-pos-line-seat{grid-template-columns:minmax(0,1fr) auto auto auto}.ga-pos-seat-control label{display:grid;gap:3px;font-size:10px;font-weight:800}.ga-pos-seat-control select{padding:5px 6px;border:1px solid var(--ds-border);border-radius:7px;background:#fff}.ga-pos-empty{grid-column:1/-1;padding:18px;border:1px dashed var(--ds-border);border-radius:12px;color:#667085;text-align:center}.ga-pos-mod-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.ga-pos-mod-box{background:#fff;border-radius:18px;max-width:520px;width:100%;max-height:85vh;overflow:auto;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.ga-pos-mod-group{padding:12px 0;border-bottom:1px solid #eee}.ga-pos-mod-group label{display:flex;justify-content:space-between;gap:8px;padding:9px 0;cursor:pointer}.ga-pos-mod-actions{display:flex;gap:8px;margin-top:16px}.ga-pos-mod-actions .btn{flex:1}
@media(max-width:850px){.ga-pos-floor{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-pos-line-seat{grid-template-columns:minmax(0,1fr) auto}.ga-pos-line-seat>strong{grid-column:1/-1;text-align:right}.ga-pos-seat-control{grid-column:1}.ga-pos-inline-form{width:100%}.ga-table-add-form input{flex:1;min-width:0}.ga-table-add-form input:nth-of-type(2){min-width:0}}
@media(max-width:560px){.ga-pos-floor{grid-template-columns:1fr}.ga-pos-section-head{gap:10px}.ga-table-add-form{display:grid;grid-template-columns:1fr 1fr}.ga-table-add-form input:nth-of-type(2){grid-column:1/-1}.ga-table-add-form .btn{grid-column:1/-1}.ga-pos-search-row{align-items:stretch}.ga-pos-search-row .btn{min-width:76px}.ga-pos-round-actions{display:grid;grid-template-columns:1fr}.ga-pos-table-actions{display:grid;grid-template-columns:1fr}.ga-pos-existing-round>div{align-items:flex-start;flex-direction:column}.ga-pos-cart{min-width:0}}

/* V12.1.2 FINAL UX CORRECTIONS — based on deployment screenshots. */
.ga-provider-nav-row>.container{max-width:1240px!important;padding-left:20px!important;padding-right:20px!important}
.ga-provider-nav-row .ga-provider-nav{justify-content:center!important;gap:6px!important}
.ga-provider-nav-row .ga-nav-group summary{padding-left:10px!important;padding-right:10px!important}

/* Restaurant menu: 4 desktop cards, 3 medium, 2 tablet, 1 phone. */
.restaurant-page .ga-menu-item-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
@media(max-width:1180px){.restaurant-page .ga-menu-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.restaurant-page .ga-menu-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.restaurant-page .ga-menu-item-grid{grid-template-columns:1fr!important}}

/* Portion/size pricing is always legible on separate lines. */
.restaurant-page .ga-menu-card-variant-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;overflow:visible!important}
.restaurant-page .ga-menu-card-variant{display:flex!important;justify-content:space-between!important;align-items:center!important;white-space:normal!important;min-width:0!important}
.restaurant-page .ga-menu-card-variant b,.restaurant-page .ga-menu-card-variant strong{font-weight:850!important}
@media(max-width:420px){.restaurant-page .ga-menu-card-variant-summary{grid-template-columns:1fr!important}}

/* Highlight cards use the same menu-card visual language. */
.restaurant-page .ga-priority-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
@media(max-width:1180px){.restaurant-page .ga-priority-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.restaurant-page .ga-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.restaurant-page .ga-priority-grid{grid-template-columns:1fr!important}}

/* POS: keep the working area in view and make table selection a deliberate action. */
.ga-pos{max-width:1240px!important}
.ga-pos-grid{align-items:start!important}
.ga-pos-menu-panel,.ga-pos-cart{position:sticky!important;top:150px!important;max-height:calc(100vh - 138px)!important;overflow:auto!important}
.ga-pos-table-toolbar{margin:16px 0!important;padding:12px 14px!important}
.ga-pos-table-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ga-pos-table-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.ga-pos-table-context-copy{min-width:220px}.ga-pos-simple-table-picker{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-left:auto}.ga-pos-simple-table-picker>label{display:grid;gap:4px;font-size:11px;font-weight:800}.ga-pos-simple-table-picker>select{min-width:220px;padding:10px 34px 10px 11px;border:1px solid var(--ds-border);border-radius:10px;background:#fff;font:inherit}.ga-pos-simple-table-actions{display:flex;align-items:end;gap:7px}.ga-pos-simple-table-actions label{display:grid;gap:4px;font-size:11px;font-weight:800}.ga-pos-simple-table-actions input{width:72px;padding:10px;border:1px solid var(--ds-border);border-radius:10px;box-sizing:border-box}.ga-pos-simple-table-actions .btn{white-space:nowrap}
.ga-pos-table-dialog{width:min(1040px,calc(100vw - 28px));max-width:1040px;border:0;border-radius:20px;padding:0;background:transparent;box-shadow:0 24px 70px rgba(16,24,40,.28)}
.ga-pos-table-dialog::backdrop{background:rgba(8,16,28,.58);backdrop-filter:blur(3px)}
.ga-pos-table-dialog-panel{background:#fff;border-radius:20px;padding:18px;max-height:88vh;overflow:auto}
.ga-pos-table-dialog-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.ga-pos-table-dialog-head h2{margin:2px 0 4px}
.ga-pos-table-dialog-close{width:40px;height:40px;border:1px solid var(--ds-border);border-radius:12px;background:#fff;font-size:24px;cursor:pointer}
.ga-pos-table-add-inline{display:grid!important;grid-template-columns:1fr 1.2fr 110px auto;gap:8px;align-items:end;margin:0 0 14px!important;padding:10px;background:#f8fafc;border:1px solid #e5eaf0;border-radius:14px}
.ga-pos-table-add-inline input{width:100%;box-sizing:border-box}
.ga-pos-table-card{min-width:0}
.ga-pos-table-select-card{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.ga-pos-table-select-card:disabled{cursor:not-allowed}
.ga-pos-table-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ga-pos-variant-price{display:grid!important;gap:3px!important;line-height:1.25!important}
.ga-pos-variant-price span{display:block!important}
.ga-pos-variant-price span+span{border-top:1px dotted #e5e7eb;padding-top:3px}
.ga-menu-picker-category{position:sticky;top:0;z-index:2;padding:8px 10px;background:#f4f7f8;border-bottom:1px solid #e3e8ed;color:#087f73;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.ga-promo-item-results .ga-promo-result,.ga-special-results .ga-special-result,.ga-closing-results .ga-closing-result{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;box-sizing:border-box!important;min-height:52px!important;padding:10px 12px!important;border:0!important;border-radius:9px!important;background:#fff!important;text-align:left!important}.ga-promo-item-results .ga-promo-result:hover,.ga-promo-item-results .ga-promo-result[aria-selected="true"],.ga-special-results .ga-special-result:hover,.ga-closing-results .ga-closing-result:hover{background:#eef8f6!important}.ga-promo-item-results .ga-promo-result>span,.ga-special-results .ga-special-result>span,.ga-closing-results .ga-closing-result>span{display:block!important;min-width:0!important;flex:1!important}.ga-promo-item-results .ga-promo-result strong,.ga-special-results .ga-special-result strong,.ga-closing-results .ga-closing-result strong{display:block!important;font-size:13px!important;line-height:1.3!important;color:#172033!important}.ga-promo-item-results .ga-promo-result small,.ga-special-results .ga-special-result small,.ga-closing-results .ga-closing-result small{display:block!important;margin-top:3px!important;color:#667085!important;font-size:11px!important;line-height:1.35!important;white-space:normal!important}.ga-promo-item-results .ga-menu-picker-category,.ga-special-results .ga-menu-picker-category,.ga-closing-results .ga-menu-picker-category{position:sticky!important;top:0!important;z-index:2!important;padding:8px 10px!important;background:#f4f7f8!important;border-bottom:1px solid #e3e8ed!important;color:#087f73!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.ga-promo-item-results,.ga-special-results,.ga-closing-results{max-height:360px!important}
.ga-promo-result span,.ga-special-result span,.ga-closing-result span{min-width:0}
.ga-promo-result small,.ga-special-result small,.ga-closing-result small{display:block;color:#667085;margin-top:2px}
.ga-rp-brand strong{font-size:16px!important}
@media(max-width:850px){.ga-pos-menu-panel,.ga-pos-cart{position:static!important;max-height:none!important;overflow:visible!important}.ga-pos-table-add-inline{grid-template-columns:1fr 1fr!important}.ga-pos-table-dialog{width:calc(100vw - 16px)}.ga-pos-table-dialog-panel{padding:13px;max-height:92vh}.ga-pos-table-toolbar-main{align-items:stretch}.ga-pos-table-toolbar-actions{width:100%}.ga-pos-table-toolbar-actions .btn{flex:1}.ga-pos-variant-price{font-size:11px!important}}
@media(max-width:560px){.ga-pos-table-add-inline{grid-template-columns:1fr!important}.ga-pos-items{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ga-pos-item{min-height:96px!important}.ga-pos-table-card{padding:11px!important}.ga-pos-table-actions{display:grid!important;grid-template-columns:1fr!important}.ga-pos-table-actions .btn{width:100%!important}}

/* V12.1.3 strict re-audit — POS card density, explicit portion pricing and menu-search isolation. */
.ga-pos-item.is-pos-hidden{display:none!important}.ga-pos-items{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch}
.ga-pos-item{min-width:0!important;min-height:118px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important}
.ga-pos-item strong{font-size:14px;line-height:1.3}
.ga-pos-variant-price{display:grid!important;gap:4px!important;margin-top:6px!important;width:100%!important;line-height:1.25!important}
.ga-pos-variant-group{display:grid!important;gap:3px!important}
.ga-pos-variant-group>b{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#667085}
.ga-pos-variant-price em{display:block!important;font-style:normal!important;color:#344054!important}
.ga-pos-variant-price em b{font-weight:850!important;color:#172033!important}
.ga-pos-item small:not(.ga-pos-variant-price){font-size:12px!important}
.ga-pos-item:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(16,24,40,.08)}
.ga-provider-nav .ga-nav-group{position:relative}
.ga-provider-nav .ga-nav-group>summary{position:relative;z-index:2}
.ga-provider-nav .ga-nav-group[open] .ga-nav-menu{z-index:50}
@media(max-width:1180px){.ga-pos-items{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.ga-pos-items{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.ga-pos-items{grid-template-columns:1fr!important}.ga-pos-item{min-height:104px!important}}

/* V12.1.4 — Provider navigation centering correction
   The complete primary provider menu must sit symmetrically inside the
   header container on desktop/laptop widths. It must not hug the left edge
   while leaving an excessive empty area on the right. Mobile keeps its
   stacked navigation behavior below 820px. */
@media (min-width:821px){
  .ga-provider-nav-row .ga-provider-nav{
    justify-content:center !important;
    margin-left:auto;
    margin-right:auto;
  }
}

/* V12.1.5 POS usability: category rail remains horizontally scrollable and clicking a category also brings its first item into view. */
.ga-pos-cats{overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important;white-space:nowrap!important;scrollbar-width:thin!important;padding:2px 2px 7px!important}.ga-pos-cats button{flex:0 0 auto!important}.ga-pos-cats button.active{background:var(--ds-navy)!important;color:#fff!important}.ga-pos-item.is-category-target{outline:2px solid #087f73;outline-offset:2px}
@media(max-width:850px){.ga-pos-simple-table-picker{width:100%;margin-left:0}.ga-pos-simple-table-picker>select{flex:1;min-width:0}.ga-pos-simple-table-actions{flex:1}.ga-pos-simple-table-actions input{width:72px}.ga-pos-table-toolbar-actions{width:100%}.ga-pos-table-toolbar-actions .btn{flex:1}}
@media(max-width:560px){.ga-pos-simple-table-picker{display:grid;grid-template-columns:1fr}.ga-pos-simple-table-actions{display:grid;grid-template-columns:72px 1fr}.ga-pos-simple-table-actions label{grid-column:1}.ga-pos-simple-table-actions .btn{grid-column:2;grid-row:1}.ga-pos-simple-table-actions input{width:72px}}

.ga-menu-option-line{display:block!important;margin-top:2px!important}.ga-menu-option-line:first-child{margin-top:0!important}

/* V12.1.6 — table seat billing: simple selector + seat scope dialog. */
.ga-pos-seat-dialog{width:min(620px,calc(100vw - 24px));max-width:620px;border:0;border-radius:20px;padding:0;background:transparent;box-shadow:0 24px 70px rgba(16,24,40,.28)}
.ga-pos-seat-dialog::backdrop{background:rgba(8,16,28,.58);backdrop-filter:blur(3px)}
.ga-pos-seat-dialog-panel{background:#fff;border-radius:20px;padding:20px;max-height:88vh;overflow:auto}
.ga-pos-seat-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.ga-pos-seat-mode .btn.active{background:var(--ds-navy);color:#fff}
.ga-pos-seat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ga-pos-seat-option{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--ds-border);border-radius:14px;background:#fff;cursor:pointer;min-height:58px}
.ga-pos-seat-option input{width:20px;height:20px;accent-color:#087f73;flex:0 0 auto}
.ga-pos-seat-option span{display:grid;gap:2px}.ga-pos-seat-option small{color:#667085}.ga-pos-seat-option.is-occupied{background:#f8f8f9;opacity:.68;cursor:not-allowed}
.ga-pos-seat-status{padding:11px 13px;border-radius:12px;background:#f4f8f8;color:#344054;margin-bottom:10px}
.ga-pos-seat-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 0;border-top:1px solid #e7ebef;margin-top:14px}
.ga-pos-seat-actions{display:flex;justify-content:flex-end;gap:8px}.ga-pos-table-card .ga-pos-table-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:560px){.ga-pos-seat-list{grid-template-columns:1fr}.ga-pos-seat-mode{grid-template-columns:1fr}.ga-pos-seat-dialog-panel{padding:14px}.ga-pos-seat-actions{display:grid;grid-template-columns:1fr 1fr}.ga-pos-seat-actions .btn{width:100%}}

/* Shared menu-picker and POS UX hardening: menu pickers use one shared presentation and
   category headings must never cover/crop the portion rows while scrolling. */
.ga-menu-picker-category,
.ga-promo-item-results .ga-menu-picker-category,
.ga-special-results .ga-menu-picker-category,
.ga-closing-results .ga-menu-picker-category,
.ga-edit-results .ga-menu-picker-category{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:8px 10px!important;
  margin:4px 0 2px!important;
  background:#f4f7f8!important;
  border-bottom:1px solid #e3e8ed!important;
  color:#087f73!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.ga-menu-option-line{display:block!important;white-space:normal!important;line-height:1.35!important;margin:2px 0 0!important}
.ga-promo-item-results .ga-promo-result,
.ga-special-results .ga-special-result,
.ga-closing-results .ga-closing-result,
.ga-edit-results .ga-edit-result{
  min-height:52px!important;
  height:auto!important;
  overflow:visible!important;
}
.ga-promo-item-results .ga-promo-result small,
.ga-special-results .ga-special-result small,
.ga-closing-results .ga-closing-result small,
.ga-edit-results .ga-edit-result small{
  white-space:normal!important;
  overflow:visible!important;
  line-height:1.4!important;
}
.ga-pos-table-field{
  width:100%;
  min-height:42px;
  padding:9px 12px;
  border:1px solid var(--ds-border);
  border-radius:9px;
  background:#fff;
  color:#172033;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.ga-pos-table-field:hover,.ga-pos-table-field:focus-visible{border-color:#087f73;outline:2px solid rgba(8,127,115,.12);outline-offset:1px}
.ga-pos-item{height:auto!important;min-height:118px!important;overflow:visible!important}
.ga-pos-variant-price{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important}
.ga-pos-variant-group,.ga-pos-variant-price em{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important}
@media(max-width:560px){.ga-pos-table-field{min-height:44px}.ga-pos-item{min-height:104px!important}}
.ga-promo-item-results .ga-promo-result,
.ga-special-results .ga-special-result,
.ga-closing-results .ga-closing-result,
.ga-edit-results .ga-edit-result{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  text-align:left!important;
  cursor:pointer!important;
  font:inherit!important;
}
.ga-promo-item-results .ga-promo-result>span,
.ga-special-results .ga-special-result>span,
.ga-closing-results .ga-closing-result>span,
.ga-edit-results .ga-edit-result>span{
  display:block!important;
  min-width:0!important;
  flex:1!important;
}
.ga-edit-results .ga-edit-result strong{display:block!important;font-size:13px!important;line-height:1.3!important;color:#172033!important}
.ga-edit-results .ga-edit-result:hover{background:#eef8f6!important}

/* Shared menu-picker and POS UX hardening: every campaign picker shows the full
   menu in the same category/item order and never clips portion/size lines. */
.ga-promo-item-results .ga-promo-result,
.ga-special-results .ga-special-result,
.ga-closing-results .ga-closing-result,
.ga-edit-results .ga-edit-result{height:auto!important;max-height:none!important;overflow:visible!important;align-items:flex-start!important}
.ga-promo-item-results .ga-promo-result small,
.ga-special-results .ga-special-result small,
.ga-closing-results .ga-closing-result small,
.ga-edit-results .ga-edit-result small{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;line-height:1.45!important}
.ga-menu-option-line{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;line-height:1.45!important}
.ga-menu-picker-result{box-sizing:border-box!important;min-height:52px!important;height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important}
.ga-menu-picker-result small{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;line-height:1.45!important}
.ga-menu-picker-result .ga-menu-option-line{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;line-height:1.45!important}


/* Shared menu-picker and POS UX hardening:
   Price/portion lines are block content, not <small> text, so browser/user-agent
   sizing cannot collapse a result row. Every picker must show every option in full. */
.ga-promo-item-results .ga-promo-result,
.ga-special-results .ga-special-result,
.ga-closing-results .ga-closing-result,
.ga-edit-results .ga-edit-result,
.ga-menu-picker-result{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1.35!important;
  padding:10px 12px!important;
  margin:0!important;
}
.ga-promo-item-results .ga-promo-result>span,
.ga-special-results .ga-special-result>span,
.ga-closing-results .ga-closing-result>span,
.ga-edit-results .ga-edit-result>span,
.ga-menu-picker-result>span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:normal!important;
}
.ga-promo-item-results .ga-promo-result strong,
.ga-special-results .ga-special-result strong,
.ga-closing-results .ga-closing-result strong,
.ga-edit-results .ga-edit-result strong,
.ga-menu-picker-result strong{
  display:block!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1.3!important;
}
.ga-menu-picker-prices{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  margin-top:4px!important;
  color:#667085!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.ga-menu-picker-prices .ga-menu-option-line,
.ga-menu-picker-prices > span{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1.5!important;
  margin:0!important;
  padding:0!important;
}
.ga-menu-picker-prices .ga-menu-option-line + .ga-menu-option-line,
.ga-menu-picker-prices > span + span{margin-top:2px!important}
/* The result list itself may scroll, but individual menu rows never clip. */
.ga-promo-item-results,.ga-special-results,.ga-closing-results,.ga-edit-results{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}


/* Shared menu-picker and POS UX hardening: */
.ga-pos-bill-group-context{display:grid;gap:5px;margin:10px 0;padding:12px 13px;border:1px solid #dfe6eb;border-radius:12px;background:#f7fafb}
.ga-pos-bill-group-label{font-size:11px;font-weight:850;color:#475467;text-transform:uppercase;letter-spacing:.04em}
.ga-pos-bill-group-value{font-size:15px;font-weight:850;color:#172033;line-height:1.4;overflow-wrap:anywhere}
.ga-pos-line-group{font-weight:700;color:#475467}
.ga-promo-item-results,.ga-special-results,.ga-closing-results,.ga-edit-results{max-height:min(60vh,520px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
.ga-promo-item-results .ga-promo-result,.ga-special-results .ga-special-result,.ga-closing-results .ga-closing-result,.ga-edit-results .ga-edit-result{contain:none!important;overflow:visible!important}
.ga-promo-item-results .ga-menu-picker-prices,.ga-special-results .ga-menu-picker-prices,.ga-closing-results .ga-menu-picker-prices,.ga-edit-results .ga-menu-picker-prices{display:block!important;overflow:visible!important;height:auto!important;max-height:none!important;white-space:normal!important}
.ga-promo-item-results .ga-menu-option-line,.ga-special-results .ga-menu-option-line,.ga-closing-results .ga-menu-option-line,.ga-edit-results .ga-menu-option-line{display:block!important;min-height:1.5em!important;height:auto!important;overflow:visible!important;white-space:normal!important;padding:0!important;margin:0!important}

/* V12.1.25 — POS visual table/seat selector. 2.5D/isometric-style controls keep the
   restaurant floor intuitive without adding a heavy WebGL dependency. */
.ga-pos-table-3d{position:relative;display:block;min-height:132px;margin:10px 2px 4px;perspective:700px;pointer-events:none}
.ga-pos-table-3d-top{position:absolute;left:50%;top:50%;width:112px;height:66px;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-4deg);transform-style:preserve-3d;background:linear-gradient(145deg,#f7fbfa,#dbeae7);border:1px solid #b8d4cf;border-radius:16px;box-shadow:0 12px 0 #b9cfca,0 18px 24px rgba(16,24,40,.14);display:flex;align-items:center;justify-content:center;color:#164e49;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.ga-pos-table-3d-top{z-index:2;overflow:visible!important}.ga-pos-table-chairs{z-index:1}.ga-pos-table-3d-top b{display:block;transform:rotateZ(4deg) rotateX(-58deg);text-align:center;width:100%;max-width:116px;padding:0 4px;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word;white-space:normal;line-height:1.12;font-size:clamp(8px,1.5vw,11px)}
.ga-pos-table-chairs{position:absolute;inset:0;display:block}
.ga-pos-mini-chair{position:absolute;left:50%;top:50%;width:38px;height:26px;margin:-13px 0 0 -19px;border-radius:9px;background:#f0f3f5;border:1px solid #cfd7dd;box-shadow:0 4px 0 #c5cdd3,0 7px 10px rgba(16,24,40,.10);font-style:normal;font-size:8px;font-weight:800;color:#475467;display:flex;align-items:center;justify-content:center;transform:rotate(calc((var(--chair-index) - 1) * (360deg / var(--chair-count)))) translateY(-55px) rotate(calc((var(--chair-index) - 1) * (-360deg / var(--chair-count))));}
.ga-pos-mini-chair.is-occupied{background:#fff0df;border-color:#efc58b;color:#9a5b00;box-shadow:0 4px 0 #e4bc82,0 7px 10px rgba(154,91,0,.12)}
.ga-pos-table-select-card:hover .ga-pos-table-3d-top{box-shadow:0 12px 0 #aac9c3,0 20px 28px rgba(16,24,40,.18);transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-4deg) translateY(-2px)}
.ga-pos-table-select-card:focus-visible{outline:3px solid rgba(8,127,115,.28);outline-offset:4px;border-radius:12px}
.ga-pos-3d-selector{margin:12px 0 4px;border:1px solid #dce5e8;border-radius:18px;background:linear-gradient(145deg,#f8fbfa,#eef5f4);padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.ga-pos-3d-stage{position:relative;min-height:330px;border-radius:14px;background:radial-gradient(circle at 50% 48%,rgba(8,127,115,.08),transparent 38%),linear-gradient(135deg,#f8fbfa,#edf3f2);overflow:hidden}
.ga-pos-3d-stage:before{content:"";position:absolute;inset:14px;border:1px dashed #cadbd7;border-radius:14px;pointer-events:none}
.ga-pos-3d-table{position:absolute;left:50%;top:50%;width:min(190px,42%);height:105px;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-4deg);background:linear-gradient(145deg,#ffffff,#d9e9e6);border:1px solid #b8d4cf;border-radius:24px;box-shadow:0 18px 0 #b6ccc7,0 28px 34px rgba(16,24,40,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#164e49;z-index:1}
.ga-pos-3d-table span{font-size:16px;font-weight:900;transform:rotateZ(4deg) rotateX(-58deg);text-transform:uppercase;letter-spacing:.04em}.ga-pos-3d-table small{margin-top:4px;font-size:10px;color:#667085;transform:rotateZ(4deg) rotateX(-58deg)}
.ga-pos-seat-list{position:absolute;inset:0;display:block!important;z-index:2}
.ga-pos-seat-option{position:absolute!important;left:50%;top:50%;width:112px!important;min-height:54px!important;margin:-27px 0 0 -56px!important;padding:7px 9px!important;border:1px solid #cfd9dd!important;border-radius:13px!important;background:#fff!important;box-shadow:0 6px 0 #d5dde1,0 10px 16px rgba(16,24,40,.12)!important;display:flex!important;align-items:center!important;gap:8px!important;cursor:pointer!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important}
.ga-pos-seat-option:hover:not(:disabled){box-shadow:0 7px 0 #cbd5da,0 13px 20px rgba(16,24,40,.16)!important;filter:brightness(1.01)}
.ga-pos-seat-option.is-selected{background:#e8f7f4!important;border-color:#54b5a9!important;box-shadow:0 6px 0 #86cfc6,0 12px 18px rgba(8,127,115,.18)!important}
.ga-pos-seat-option.is-occupied{background:#f7f8f9!important;opacity:.62!important;cursor:not-allowed!important}
.ga-pos-chair-visual{width:31px;height:24px;flex:0 0 31px;border-radius:8px;background:#eef2f4;border:1px solid #c9d3d8;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#475467;box-shadow:0 3px 0 #c5cdd2}
.ga-pos-seat-option.is-selected .ga-pos-chair-visual{background:#087f73;color:#fff;border-color:#087f73;box-shadow:0 3px 0 #05645b}
.ga-pos-seat-option.is-occupied .ga-pos-chair-visual{background:#f2d4ad;color:#8a5300;border-color:#e5bf8c;box-shadow:0 3px 0 #d8ad72}
.ga-pos-seat-copy{display:grid;gap:2px;text-align:left;min-width:0}.ga-pos-seat-copy strong{font-size:11px;line-height:1.2}.ga-pos-seat-copy small{font-size:9px;color:#667085;line-height:1.2}
.ga-pos-seat-option{transform:translate(-50%,-50%)!important;left:var(--seat-left,50%)!important;top:var(--seat-top,50%)!important;rotate:0deg!important;margin:0!important}.ga-pos-seat-option:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.02)!important}.ga-pos-seat-option.is-selected{transform:translate(-50%,-50%) scale(1.02)!important}
@media(max-width:700px){.ga-pos-3d-stage{min-height:300px}.ga-pos-3d-table{width:145px;height:82px}.ga-pos-seat-option{width:98px!important;margin-left:-49px!important}}
@media(max-width:480px){.ga-pos-3d-stage{min-height:285px}.ga-pos-3d-table{width:125px;height:70px}.ga-pos-seat-option{width:88px!important;margin-left:-44px!important;padding:6px!important}.ga-pos-chair-visual{width:25px;height:22px;flex-basis:25px}.ga-pos-seat-copy strong{font-size:10px}.ga-pos-seat-copy small{font-size:8px}}

/* V12.1.25 — keep configuration controls out of the normal table-picking path. */
.ga-pos-table-management{margin:0 0 14px;border:1px solid #e5eaf0;border-radius:14px;background:#f8fafc;padding:0 10px}
.ga-pos-table-management>summary{cursor:pointer;list-style:none;padding:10px 2px;font-weight:800;color:#344054}
.ga-pos-table-management>summary::-webkit-details-marker{display:none}
.ga-pos-table-management[open]>summary{border-bottom:1px solid #e5eaf0;margin-bottom:10px}

/* V12.1.25 — screenshot-driven responsive/visual QA corrections. */
.ga-pos-table-card-top{min-width:0}
.ga-pos-table-card-identity{min-width:0}
.ga-pos-table-title{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.ga-pos-table-code{display:flex!important;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.ga-pos-table-code>b{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid #d7e2e5;border-radius:6px;background:#f5f8f9;color:#475467;font-size:10px;line-height:1.2;letter-spacing:.04em;white-space:nowrap}
.ga-pos-table-code>span{min-width:0;line-height:1.3}
.ga-pos-table-card{overflow:visible}
.ga-pos-table-3d{min-height:150px;margin:12px 4px 6px;overflow:visible}
.ga-pos-table-3d-top{width:126px;height:72px}
.ga-pos-table-3d-top b{max-width:112px;font-size:10px;overflow-wrap:anywhere;word-break:break-word}
.ga-pos-mini-chair{width:40px;height:28px;margin:-14px 0 0 -20px;font-size:8px;left:var(--seat-left,50%);top:var(--seat-top,50%);transform:translate(-50%,-50%)}
.ga-pos-floor{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:1040px){.ga-pos-floor{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.ga-pos-floor{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ga-pos-floor{grid-template-columns:1fr}.ga-pos-table-3d{min-height:142px}.ga-pos-table-3d-top{width:118px;height:68px}}

/* V12.1.40 — bill header must never overlap the bill number. */
.ga-pos-bill-header{display:block!important;width:100%!important;box-sizing:border-box!important}
.ga-pos-bill-heading{display:block!important;width:100%!important;min-width:0!important}
.ga-pos-bill-number{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important}
.ga-pos-bill-actions{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;max-width:none!important;margin-top:14px!important;box-sizing:border-box!important}
.ga-pos-bill-actions form{display:flex!important;margin:0!important}
.ga-pos-bill-actions .btn{width:auto!important;min-width:132px!important;flex:0 1 auto!important}
@media(max-width:560px){.ga-pos-bill-actions .btn{min-width:0!important;flex:1 1 calc(50% - 8px)!important}}
@media(max-width:380px){.ga-pos-bill-actions .btn{flex-basis:100%!important}}

/* Bill actions must be a compact action group, not a vertical button tower. */
.ga-pos-bill-page{max-width:960px!important;margin:24px auto!important}
.ga-pos-bill-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.ga-pos-bill-heading{min-width:0;flex:1}
.ga-pos-bill-number{margin:3px 0!important;font-size:clamp(25px,3vw,38px)!important;line-height:1.15!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;letter-spacing:.01em}
.ga-pos-bill-actions{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:7px;align-items:stretch;flex:0 0 min(510px,55%)}
.ga-pos-bill-actions form{display:contents}
.ga-pos-bill-actions .btn{width:100%;min-height:44px;box-sizing:border-box;white-space:normal;line-height:1.2;padding:8px 10px!important;display:flex;align-items:center;justify-content:center;text-align:center}
@media(max-width:900px){.ga-pos-bill-actions{flex:1 1 100%;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.ga-pos-bill-header{flex-direction:column}.ga-pos-bill-heading{width:100%}}
@media(max-width:620px){.ga-pos-bill-page{margin:12px auto!important}.ga-pos-bill-number{font-size:25px!important;white-space:normal!important}.ga-pos-bill-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
@media(max-width:420px){.ga-pos-bill-actions{grid-template-columns:1fr}.ga-pos-bill-actions .btn{min-height:42px}}

/* Prevent menu-picker rows from visually stacking their portion/size prices. */
.ga-special-results .ga-special-result,
.ga-promo-item-results .ga-promo-result,
.ga-closing-results .ga-closing-result,
.ga-edit-results .ga-edit-result{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;box-sizing:border-box!important;padding:9px 11px!important}
.ga-special-results .ga-menu-picker-prices,
.ga-promo-item-results .ga-menu-picker-prices,
.ga-closing-results .ga-menu-picker-prices,
.ga-edit-results .ga-menu-picker-prices{display:grid!important;gap:2px!important;align-content:start!important;line-height:1.35!important}
.ga-special-results .ga-menu-option-line,
.ga-promo-item-results .ga-menu-option-line,
.ga-closing-results .ga-menu-option-line,
.ga-edit-results .ga-menu-option-line{display:block!important;line-height:1.35!important;min-height:0!important}
.ga-special-results,.ga-promo-item-results,.ga-closing-results,.ga-edit-results{max-height:min(38vh,300px)!important;overflow-y:auto!important;overflow-x:hidden!important}
.ga-special-results .ga-menu-picker-category,
.ga-promo-item-results .ga-menu-picker-category,
.ga-closing-results .ga-menu-picker-category,
.ga-edit-results .ga-menu-picker-category{position:sticky!important;top:0!important}

/* Closing Deals form: readable schedule fields and application-level validation. */
.ga-closing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.ga-closing-grid .form-group{min-width:0}
.ga-closing-grid input{box-sizing:border-box;width:100%;min-width:0;padding:10px 11px;border:1px solid var(--ds-border);border-radius:10px;background:#fff}
.ga-field-hint{display:block;margin-top:4px;color:#667085;font-size:10px;line-height:1.35}
.ga-form-error{margin-top:10px;padding:10px 12px;border:1px solid #f3c1c1;border-radius:10px;background:#fff4f4;color:#b42318;font-size:12px;font-weight:700;line-height:1.4}
.ga-closing-item{grid-template-columns:minmax(0,1fr) minmax(145px,175px) minmax(145px,175px) 38px!important}
.ga-closing-item>div:first-child{min-width:0}
.ga-closing-preview{display:block;margin-top:7px;color:#087f73;font-weight:700;line-height:1.35}
@media(max-width:900px){.ga-closing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ga-closing-item{grid-template-columns:minmax(0,1fr) minmax(135px,1fr) 38px!important}}
@media(max-width:560px){.ga-closing-grid{grid-template-columns:1fr!important}.ga-closing-item{grid-template-columns:1fr!important}.ga-closing-item>button{justify-self:end}.ga-closing-item>div:first-child{grid-column:auto!important}}

/* Promotions multi-select: compact searchable list that does not swallow the form. */
.ga-promo-item-results{max-height:min(34vh,260px)!important}
.ga-promo-item-results .ga-promo-result{min-height:0!important}
.ga-promo-selected{max-height:none!important;overflow:visible!important}

.ga-pos-bill-cards{display:grid;gap:9px}.ga-pos-bill-card{border:1px solid var(--ds-border);border-radius:13px;padding:10px;background:#fff}.ga-pos-bill-card.is-unpaid{border-color:#f0c58a;background:#fffaf2}.ga-pos-bill-card.is-paid{border-color:#cce6dc}.ga-pos-bill-card-main{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;border:0;background:transparent;padding:2px;cursor:pointer}.ga-pos-bill-card-main span{display:grid;gap:3px}.ga-pos-bill-card-main span:last-child{text-align:right}.ga-pos-bill-card-main small{color:#667085}.ga-pos-bill-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.ga-pos-bill-dialog-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ga-pos-bill-dialog-summary>div{padding:12px;border:1px solid var(--ds-border);border-radius:12px;background:#f8fafc;display:grid;gap:4px}.ga-pos-bill-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ga-pos-bill-dialog-actions .btn{flex:1;min-width:150px}@media(max-width:560px){.ga-pos-bill-dialog-summary{grid-template-columns:1fr}.ga-pos-bill-card-main{align-items:flex-start;flex-direction:column}.ga-pos-bill-card-main span:last-child{text-align:left}}

/* V12.1.32 strict UX: unified promotion/menu picker geometry. */
.ga-promo-item-picker,.ga-closing-picker,.ga-special-picker,.ga-edit-picker{position:relative!important;display:block!important;}
.ga-promo-item-results,.ga-closing-results,.ga-special-results,.ga-edit-results{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 6px)!important;z-index:100!important;box-sizing:border-box!important;}
.ga-menu-picker-result{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-height:58px!important;padding:11px 12px!important;box-sizing:border-box!important;text-align:left!important;}
.ga-menu-picker-result>span{display:grid!important;gap:4px!important;min-width:0!important;width:100%!important;}
.ga-menu-picker-result strong{display:block!important;line-height:1.3!important;overflow-wrap:anywhere!important;}
.ga-menu-picker-prices{display:grid!important;gap:3px!important;line-height:1.35!important;color:#087f73!important;font-size:12px!important;font-weight:750!important;white-space:normal!important;}
.ga-menu-picker-category{padding:8px 10px 5px!important;margin-top:3px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#667085!important;border-bottom:1px solid #eef1f4!important;}
.ga-promo-selected,.ga-special-selected,.ga-closing-selected{margin-top:10px!important;}
.ga-promo-chip{white-space:normal!important;line-height:1.35!important;}
.ga-pos-line-category{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#087f73;margin-bottom:2px;}
.ga-receipt-category{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#087f73;}
.ga-flow-step{display:grid;gap:2px;margin:12px 0;padding:11px 13px;border:1px solid #dce7e4;border-radius:12px;background:#f4fbf9}.ga-flow-step span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#087f73}.ga-flow-step strong{font-size:14px}.ga-flow-step small{color:#667085;line-height:1.4}


/* Customer restaurant page: storefront header intentionally has no second restaurant logo. The hero is the single restaurant identity. */
.restaurant-page .ga-menu-card-price{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.restaurant-page .ga-menu-card-price strong{min-width:0!important;flex:1 1 120px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.restaurant-page .ga-menu-card-price .ga-quick-add{flex:0 0 auto!important}
@media(max-width:520px){.restaurant-page .ga-menu-card-price{align-items:stretch!important}.restaurant-page .ga-menu-card-price strong{flex-basis:100%!important}.restaurant-page .ga-menu-card-price .ga-quick-add{width:100%!important}}

/* V12.1.37 — final restaurant header + shared menu-picker geometry. */
.ga-restaurant-header-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex:0 1 auto!important;text-decoration:none!important}
.ga-restaurant-platform-brand{display:flex!important;align-items:center!important;flex:0 0 auto!important;text-decoration:none!important}
.ga-restaurant-platform-brand img{width:145px!important;max-width:145px!important;height:auto!important;display:block!important;object-fit:contain!important}
.ga-restaurant-header-divider{width:1px;height:34px;background:#e3e8ee;flex:0 0 1px}
.ga-restaurant-identity{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;text-decoration:none!important}
.ga-restaurant-header-logo{width:40px!important;height:40px!important;flex:0 0 40px!important;object-fit:cover!important;border-radius:10px!important;background:#fff!important;border:1px solid #dfe5ec!important;box-shadow:0 4px 12px rgba(16,24,40,.08)!important}
.ga-restaurant-header-copy{display:grid!important;gap:2px!important;min-width:0!important;line-height:1.15!important}
.ga-restaurant-header-copy strong{display:block!important;max-width:180px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:13px!important;color:#172033!important}
.ga-restaurant-header-copy small{display:block!important;color:#667085!important;font-size:9px!important;font-weight:750!important;white-space:nowrap!important}
.ga-promo-selected,.ga-special-selected,.ga-closing-selected,.ga-edit-selected{display:grid!important;gap:8px!important;width:100%!important;margin-top:10px!important}
.ga-promo-selected-item,.ga-edit-selected-item{position:relative!important;display:flex!important;align-items:flex-start!important;gap:12px!important;width:100%!important;box-sizing:border-box!important;padding:12px 44px 12px 13px!important;border:1px solid #dce7e4!important;border-radius:12px!important;background:#fbfdfd!important;min-width:0!important}
.ga-picker-selected-info{display:grid!important;gap:4px!important;min-width:0!important;width:100%!important}
.ga-picker-selected-info>strong{font-size:13px!important;line-height:1.35!important;overflow-wrap:anywhere!important;color:#172033!important}
.ga-picker-selected-info>small{font-size:10px!important;color:#667085!important}
.ga-picker-remove{position:absolute!important;right:10px!important;top:10px!important;width:30px!important;height:30px!important;border:1px solid #dce3e8!important;border-radius:8px!important;background:#fff!important;color:#667085!important;font-size:18px!important;line-height:1!important;cursor:pointer!important}
.ga-picker-remove:hover{background:#fff4f2!important;color:#b42318!important;border-color:#f0c5bf!important}
.ga-menu-picker-prices{display:grid!important;gap:3px!important;width:100%!important;min-width:0!important;overflow:visible!important;white-space:normal!important}
.ga-picker-price-line{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-width:0!important;padding:2px 0!important;box-sizing:border-box!important}
.ga-picker-price-line>span{min-width:0!important;overflow-wrap:anywhere!important;color:#667085!important}
.ga-picker-price-line>b{flex:0 0 auto!important;white-space:nowrap!important;color:#087f73!important;font-size:11px!important;font-weight:850!important}
.ga-picker-base-price>span{font-weight:750!important;color:#475467!important}
.ga-picker-base-price>b{color:#087f73!important}
.ga-special-selected .ga-special-chip-multi{position:relative!important;width:100%!important;box-sizing:border-box!important;padding:12px 44px 12px 13px!important;border-radius:12px!important;display:grid!important;gap:5px!important;min-width:0!important}
.ga-special-selected .ga-special-chip-multi>button{position:absolute!important;right:10px!important;top:10px!important;width:30px!important;height:30px!important;border:1px solid #dce3e8!important;border-radius:8px!important;background:#fff!important}
.ga-special-variant-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
.ga-special-variant-options label{justify-content:space-between!important;min-width:0!important;box-sizing:border-box!important}
@media(max-width:820px){.ga-restaurant-platform-brand img{width:125px!important;max-width:125px!important}.ga-restaurant-header-copy strong{max-width:140px!important}.ga-special-variant-options{grid-template-columns:1fr!important}}
@media(max-width:560px){.ga-restaurant-header-brand{gap:7px!important}.ga-restaurant-platform-brand img{width:105px!important;max-width:105px!important}.ga-restaurant-header-divider{height:28px}.ga-restaurant-header-logo{width:34px!important;height:34px!important;flex-basis:34px!important}.ga-restaurant-header-copy strong{max-width:105px!important;font-size:11px!important}.ga-restaurant-header-copy small{display:none!important}.ga-promo-selected-item,.ga-edit-selected-item{padding:11px 42px 11px 11px!important}}

/* V12.1.37 — controlled promotion picker + restaurant header identity.
   These rules intentionally come last so older incremental picker rules cannot
   collapse prices into the item-name line or clip them inside result rows. */
.ga-restaurant-header-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;text-decoration:none!important}
.ga-restaurant-header-logo{width:46px!important;height:46px!important;flex:0 0 46px!important;object-fit:cover!important;border-radius:12px!important;background:#fff!important;border:1px solid rgba(16,24,40,.10)!important;box-shadow:0 5px 16px rgba(16,24,40,.10)!important}
.ga-restaurant-header-logo-fallback{object-fit:contain!important;padding:5px!important;box-sizing:border-box!important}
.ga-restaurant-header-copy{display:grid!important;gap:1px!important;min-width:0!important;line-height:1.15!important}
.ga-restaurant-header-copy strong{display:block!important;max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:14px!important;color:var(--ds-navy,#172033)!important}
.ga-restaurant-header-copy small{display:block!important;color:#667085!important;font-size:9px!important;font-weight:800!important;letter-spacing:.03em!important;white-space:nowrap!important}

.ga-promo-item-results,.ga-special-results,.ga-closing-results,.ga-edit-results{background:#fff!important;padding:5px!important;border:1px solid #d9e1e7!important;border-radius:14px!important;box-shadow:0 18px 45px rgba(16,24,40,.15)!important;overflow-x:hidden!important}
.ga-promo-item-results .ga-menu-picker-result,.ga-special-results .ga-menu-picker-result,.ga-closing-results .ga-menu-picker-result,.ga-edit-results .ga-menu-picker-result{display:block!important;width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;padding:11px 12px!important;margin:0!important;border:0!important;border-bottom:1px solid #eef1f4!important;border-radius:9px!important;background:#fff!important;box-sizing:border-box!important;overflow:visible!important;white-space:normal!important}
.ga-promo-item-results .ga-menu-picker-result:last-child,.ga-special-results .ga-menu-picker-result:last-child,.ga-closing-results .ga-menu-picker-result:last-child,.ga-edit-results .ga-menu-picker-result:last-child{border-bottom:0!important}
.ga-promo-item-results .ga-menu-picker-result:hover,.ga-special-results .ga-menu-picker-result:hover,.ga-closing-results .ga-menu-picker-result:hover,.ga-edit-results .ga-menu-picker-result:hover{background:#f1faf8!important}
.ga-menu-picker-result>span.ga-picker-item-content{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;width:100%!important;min-width:0!important}
.ga-menu-picker-result strong{display:block!important;min-width:0!important;color:#172033!important;font-size:13px!important;font-weight:850!important;line-height:1.35!important;overflow-wrap:anywhere!important;white-space:normal!important}
.ga-menu-picker-prices{display:grid!important;gap:3px!important;width:100%!important;min-width:0!important;color:#475467!important;font-size:11px!important;font-weight:650!important;line-height:1.35!important;overflow:visible!important;white-space:normal!important}
.ga-picker-price-line{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-width:0!important;padding:2px 0!important;box-sizing:border-box!important}
.ga-picker-price-line>span{min-width:0!important;overflow-wrap:anywhere!important;color:#667085!important}
.ga-picker-price-line>b{flex:0 0 auto!important;white-space:nowrap!important;color:#087f73!important;font-size:11px!important;font-weight:850!important}
.ga-menu-picker-unavailable{display:inline-block!important;margin-top:4px!important;color:#b42318!important;font-size:10px!important;font-weight:850!important}
.ga-menu-picker-category{position:sticky!important;top:0!important;z-index:4!important;margin:0!important;padding:8px 10px!important;background:#f4f7f8!important;border-bottom:1px solid #e3e8ed!important;color:#087f73!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.ga-closing-variant-lines{display:grid!important;gap:4px!important;margin-top:7px!important;padding-top:6px!important;border-top:1px dashed #dfe7e5!important;color:#475467!important;font-size:11px!important;font-weight:650!important}
.ga-closing-variant-lines .ga-picker-price-line{padding:1px 0!important}
.ga-closing-variant-lines .ga-picker-price-line>span{color:#667085!important}
.ga-closing-variant-lines .ga-picker-price-line>b{color:#087f73!important}
.ga-closing-variant-lines .is-discounted>b{color:#0b6e63!important}
.ga-closing-item>div:first-child{min-width:0!important}
.ga-closing-item strong{overflow-wrap:anywhere!important}

@media(max-width:820px){
  .ga-restaurant-header-logo{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:11px!important}
  .ga-restaurant-header-copy strong{max-width:145px!important;font-size:13px!important}
  .ga-restaurant-header-copy small{font-size:8px!important}
}
@media(max-width:560px){
  .ga-restaurant-header-brand{gap:7px!important}
  .ga-restaurant-header-logo{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:10px!important}
  .ga-restaurant-header-copy strong{max-width:118px!important;font-size:12px!important}
  .ga-restaurant-header-copy small{display:none!important}
  .ga-menu-picker-result{padding:10px!important}
  .ga-picker-price-line{gap:8px!important}
  .ga-picker-price-line>b{font-size:10.5px!important}
}


/* V12.1.37 — menu selector placement: result lists belong to the search field, not the whole picker. */
.ga-picker-search-anchor{position:relative!important;width:100%!important;min-width:0!important;z-index:20!important}
.ga-picker-search-anchor>.ga-promo-item-results,.ga-picker-search-anchor>.ga-closing-results,.ga-picker-search-anchor>.ga-special-results,.ga-picker-search-anchor>.ga-edit-results{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 6px)!important;z-index:120!important;box-sizing:border-box!important;margin:0!important}
.ga-picker-search-anchor>input[type=search]{position:relative!important;z-index:21!important}
.ga-promo-item-picker,.ga-closing-picker,.ga-special-picker,.ga-promo-dish-picker{overflow:visible!important}
.ga-promo-item-results,.ga-closing-results,.ga-special-results,.ga-edit-results{max-height:min(360px,48vh)!important;overflow-y:auto!important;overflow-x:hidden!important}
@media(max-width:560px){.ga-picker-search-anchor>.ga-promo-item-results,.ga-picker-search-anchor>.ga-closing-results,.ga-picker-search-anchor>.ga-special-results,.ga-picker-search-anchor>.ga-edit-results{max-height:52vh!important}}

/* V12.1.37 — POS always exposes base price plus portion/size prices. */
.ga-pos-price-block{display:grid!important;gap:3px!important;margin-top:4px!important;line-height:1.35!important;white-space:normal!important;color:#475467!important}
.ga-pos-base-price{display:block!important;color:#087f73!important;font-weight:800!important}
.ga-pos-variant-price{display:grid!important;gap:2px!important}
.ga-pos-variant-group{display:grid!important;gap:1px!important}
.ga-pos-variant-group em{display:block!important;font-style:normal!important;font-weight:650!important;color:#475467!important}
@media(max-width:560px){.ga-pos-price-block{font-size:11px!important}.ga-pos-base-price{font-size:11px!important}.ga-pos-variant-group em{font-size:10.5px!important}}

/* V12.1.37 — POS receipt/KOT item identity: retain portion/size/modifier context. */
.ga-receipt-modifiers{display:grid!important;gap:2px!important;margin-top:3px!important;color:#475467!important;font-size:11px!important;line-height:1.35!important}
.ga-receipt-modifiers span{display:block!important;overflow-wrap:anywhere!important}

/* V12.1.40 — table names stay readable above the 3D transform. */
.ga-pos-table-3d{position:relative!important;overflow:visible!important}
.ga-pos-table-3d-top{font-size:0!important;color:transparent!important}
.ga-pos-table-3d-label{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:8!important;display:flex!important;align-items:center!important;justify-content:center!important;width:112px!important;min-height:28px!important;padding:4px 8px!important;box-sizing:border-box!important;border-radius:8px!important;background:rgba(255,255,255,.92)!important;border:1px solid #c9dbd7!important;color:#164e49!important;font-size:11px!important;font-weight:900!important;line-height:1.15!important;text-align:center!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;box-shadow:0 3px 7px rgba(16,24,40,.10)!important;pointer-events:none!important}
.ga-pos-3d-table{overflow:visible!important}
.ga-pos-3d-table-surface{position:absolute!important;inset:0!important;display:block!important}
.ga-pos-3d-table #ga-pos-3d-table-label{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotateZ(4deg) rotateX(-58deg)!important;z-index:8!important;width:150px!important;max-width:80%!important;padding:5px 8px!important;box-sizing:border-box!important;border-radius:8px!important;background:rgba(255,255,255,.92)!important;border:1px solid #c9dbd7!important;color:#164e49!important;font-size:14px!important;font-weight:900!important;line-height:1.15!important;text-align:center!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;pointer-events:none!important;box-shadow:0 3px 7px rgba(16,24,40,.10)!important}
.ga-pos-table-field-wrap[hidden]{display:none!important}
.ga-pos-table-field-wrap{display:grid!important;gap:5px!important}
.ga-pos-table-field-wrap>label{font-size:12px!important;font-weight:800!important}

/* V12.1.40 FINAL — keep bill controls below the bill number at every width. */
.ga-pos-bill-header{display:block!important;width:100%!important;box-sizing:border-box!important}
.ga-pos-bill-heading{display:block!important;width:100%!important;min-width:0!important}
.ga-pos-bill-number{display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.ga-pos-bill-actions{display:flex!important;position:static!important;flex-wrap:wrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;max-width:none!important;margin:14px 0 0!important;box-sizing:border-box!important}
.ga-pos-bill-actions form{display:flex!important;position:static!important;margin:0!important}
.ga-pos-bill-actions .btn{position:static!important;width:auto!important;min-width:132px!important;max-width:none!important;flex:0 1 auto!important;margin:0!important}
@media(max-width:620px){.ga-pos-bill-actions .btn{min-width:0!important;flex:1 1 calc(50% - 8px)!important}}
@media(max-width:400px){.ga-pos-bill-actions .btn{flex-basis:100%!important}}


/* V12.1.40 — definitive picker layout. Older incremental picker rules are intentionally
   neutralised here: one result row = category header (static) + dish + prices below. */
.ga-promo-item-results,.ga-closing-results,.ga-special-results,.ga-edit-results{
  display:block!important;
  position:absolute!important;
  left:0!important;right:0!important;top:calc(100% + 8px)!important;
  width:100%!important;box-sizing:border-box!important;
  max-height:min(420px,52vh)!important;overflow-y:auto!important;overflow-x:hidden!important;
  padding:6px!important;margin:0!important;
  background:#fff!important;border:1px solid #d8e1e5!important;border-radius:14px!important;
  box-shadow:0 18px 45px rgba(16,24,40,.16)!important;z-index:2000!important;
}
.ga-menu-picker-category{
  position:static!important;top:auto!important;z-index:auto!important;
  display:block!important;box-sizing:border-box!important;
  margin:4px 0 0!important;padding:8px 10px 6px!important;
  background:#f3f8f7!important;border-bottom:1px solid #e1ebe8!important;
  color:#087f73!important;font-size:10px!important;font-weight:900!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.25!important;
}
.ga-menu-picker-category:first-child{margin-top:0!important}
.ga-promo-item-results .ga-menu-picker-result,
.ga-closing-results .ga-menu-picker-result,
.ga-special-results .ga-menu-picker-result,
.ga-edit-results .ga-menu-picker-result{
  display:block!important;width:100%!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:11px 12px!important;box-sizing:border-box!important;
  border:0!important;border-bottom:1px solid #edf1f2!important;border-radius:9px!important;
  background:#fff!important;text-align:left!important;white-space:normal!important;
  overflow:visible!important;vertical-align:top!important;line-height:normal!important;
}
.ga-promo-item-results .ga-menu-picker-result:last-child,
.ga-closing-results .ga-menu-picker-result:last-child,
.ga-special-results .ga-menu-picker-result:last-child,
.ga-edit-results .ga-menu-picker-result:last-child{border-bottom:0!important}
.ga-menu-picker-result>.ga-picker-item-content,
.ga-menu-picker-result>span{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-auto-rows:auto!important;align-items:start!important;gap:5px!important;
  width:100%!important;min-width:0!important;margin:0!important;padding:0!important;
  position:static!important;transform:none!important;
}
.ga-menu-picker-result strong{
  display:block!important;order:1!important;position:static!important;
  margin:0!important;padding:0!important;color:#172033!important;
  font-size:14px!important;font-weight:850!important;line-height:1.35!important;
  white-space:normal!important;overflow-wrap:anywhere!important;transform:none!important;
}
.ga-menu-picker-prices{
  display:grid!important;order:2!important;position:static!important;
  grid-auto-rows:auto!important;gap:3px!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:2px 0 0!important;color:#475467!important;
  font-size:11px!important;font-weight:650!important;line-height:1.35!important;
  visibility:visible!important;opacity:1!important;overflow:visible!important;transform:none!important;
}
.ga-picker-price-line{
  display:flex!important;position:static!important;align-items:baseline!important;
  justify-content:space-between!important;gap:12px!important;width:100%!important;
  min-width:0!important;margin:0!important;padding:1px 0!important;box-sizing:border-box!important;
  transform:none!important;
}
.ga-picker-price-line>span{display:block!important;min-width:0!important;overflow-wrap:anywhere!important;color:#667085!important}
.ga-picker-price-line>b{display:block!important;flex:0 0 auto!important;white-space:nowrap!important;color:#087f73!important;font-size:12px!important;font-weight:900!important}
.ga-menu-picker-unavailable{display:block!important;order:3!important;margin:3px 0 0!important;position:static!important;color:#b42318!important;font-size:10px!important;font-weight:850!important}

/* V12.1.40 — modern POS bill action bar. */
.ga-pos-bill-actions{
  display:grid!important;grid-template-columns:repeat(3,minmax(118px,1fr))!important;
  gap:8px!important;align-items:stretch!important;justify-content:stretch!important;
  width:100%!important;max-width:620px!important;margin:14px 0 0 auto!important;
}
.ga-pos-bill-actions form{display:contents!important;margin:0!important}
.ga-pos-bill-actions .btn{
  min-width:0!important;width:100%!important;min-height:46px!important;
  padding:10px 12px!important;border-radius:12px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;font-size:13px!important;font-weight:800!important;
  white-space:normal!important;line-height:1.2!important;box-sizing:border-box!important;
  transition:transform .15s ease,box-shadow .15s ease!important;
}
.ga-pos-bill-actions .btn:hover{transform:translateY(-1px)!important;box-shadow:0 8px 20px rgba(16,24,40,.10)!important}
.ga-pos-bill-actions .btn-primary{box-shadow:0 5px 14px rgba(8,127,115,.16)!important}
@media(max-width:900px){
  .ga-pos-bill-header{display:block!important}
  .ga-pos-bill-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:none!important;margin-top:14px!important}
}
@media(max-width:600px){.ga-pos-bill-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:390px){.ga-pos-bill-actions{grid-template-columns:1fr!important}}

/* V12.1.40 parked-bill workflow: popup-first POS additions */
.ga-pos-first-submit{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #dfe7e5;border-radius:14px;background:#f7fbfa}
.ga-pos-first-submit .btn{min-height:48px;font-weight:850}
.ga-pos-share-dialog{border:0;border-radius:20px;padding:0;max-width:460px;width:calc(100% - 28px);box-shadow:0 24px 70px rgba(16,24,40,.24)}
.ga-pos-share-dialog::backdrop{background:rgba(16,24,40,.48)}
.ga-pos-share-box{padding:26px}.ga-pos-share-box h2{margin:4px 0 8px}.ga-pos-share-box p{color:#667085;line-height:1.5}.ga-pos-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.ga-pos-share-actions .btn{min-height:48px;display:flex;align-items:center;justify-content:center}
.ga-pos-add-dialog .ga-pos-table-dialog-panel{width:min(1100px,96vw);max-height:94vh;padding:0;overflow:hidden}.ga-pos-add-dialog .ga-pos-bill-dialog-summary,.ga-pos-add-dialog .ga-pos-bill-dialog-actions{padding-left:18px;padding-right:18px}.ga-pos-add-frame{display:block;width:100%;height:min(760px,82vh);background:#f6f9f8;border-top:1px solid #e7ecef;margin-top:14px;position:relative;z-index:5;overflow:auto;pointer-events:auto;touch-action:auto}.ga-pos-add-loading,.ga-pos-add-error{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;text-align:center;color:#667085}.ga-pos-add-error strong{color:#172033}.ga-pos-add-frame .ga-pos-add-popup{min-height:0;background:#f6f9f8;padding:12px;box-sizing:border-box}.ga-pos-add-frame .ga-pos-add-head-compact{margin-bottom:10px}.ga-pos-add-frame .ga-pos-add-head-compact h1{font-size:20px}.ga-pos-add-frame .ga-pos-add-head-compact p{font-size:12px}.ga-pos-add-frame .ga-pos-popup-menu{margin-bottom:8px;padding:12px}.ga-pos-add-frame .ga-popup-items{max-height:360px}.ga-pos-add-frame .ga-pos-popup-new{padding:12px;margin-bottom:0}.ga-pos-add-frame .ga-popup-actions{position:sticky;bottom:0;padding:10px 0 0}.ga-popup-cart-compact{margin-bottom:0}
/* Focused parked-bill item picker: remove dashboard/site chrome while adding items. */
.ga-pos-add-dialog .ga-bill-dialog-add-mode{width:min(820px,94vw);height:min(82vh,760px);max-height:82vh;padding:0;overflow:hidden}
.ga-pos-add-dialog .ga-bill-dialog-add-mode .ga-pos-table-dialog-head,.ga-pos-add-dialog .ga-bill-dialog-add-mode .ga-pos-bill-dialog-summary,.ga-pos-add-dialog .ga-bill-dialog-add-mode .ga-pos-bill-dialog-actions{display:none!important}
.ga-pos-add-dialog .ga-bill-dialog-add-mode .ga-pos-add-frame{height:100%;min-height:0;margin-top:0;border-top:0}
@media(max-width:620px){.ga-pos-add-dialog .ga-bill-dialog-add-mode{width:100vw;height:100vh;max-height:none;border-radius:0}.ga-pos-add-dialog .ga-bill-dialog-add-mode .ga-pos-add-frame{height:100vh}}
.ga-pos-add-popup{min-height:100vh;background:#f6f9f8;padding:18px;box-sizing:border-box;color:#172033}.ga-pos-add-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.ga-pos-add-head h1{margin:4px 0;font-size:clamp(22px,3vw,30px)}.ga-pos-add-head p{margin:0;color:#667085}.ga-popup-close{width:42px;height:42px;border:1px solid #d7e2e5;border-radius:12px;background:#fff;font-size:26px;cursor:pointer}.ga-pos-popup-existing,.ga-pos-popup-menu,.ga-pos-popup-new{background:#fff;border:1px solid #dfe7e5;border-radius:16px;padding:16px;margin-bottom:12px}.ga-popup-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.ga-popup-section-title>div{display:grid;gap:3px}.ga-popup-round{border-top:1px solid #edf1f2;padding:10px 0}.ga-popup-round:first-of-type{border-top:0}.ga-popup-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;color:#344054}.ga-popup-seat-label{display:grid;gap:6px;font-weight:800;margin-bottom:10px}.ga-popup-seat-label select,.ga-popup-search{width:100%;min-height:46px;border:1px solid #cfdcda;border-radius:12px;padding:0 12px;box-sizing:border-box;background:#fff}.ga-popup-cats{display:flex;gap:8px;overflow:auto;padding:4px 0 10px;scrollbar-width:thin}.ga-popup-cats button{border:1px solid #d7e2e5;background:#f8fafb;border-radius:999px;padding:9px 14px;white-space:nowrap;font-weight:800;cursor:pointer}.ga-popup-cats button.active{background:#17324d;color:#fff;border-color:#17324d}.ga-popup-items{display:grid;gap:8px;max-height:330px;overflow:auto;padding-right:3px}.ga-popup-category h3{margin:10px 0 6px;color:#087f73;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.ga-popup-item{width:100%;border:1px solid #e0e7e8;background:#fff;border-radius:12px;padding:11px 12px;display:flex;justify-content:space-between;gap:14px;text-align:left;cursor:pointer}.ga-popup-item:hover{border-color:#087f73;box-shadow:0 5px 16px rgba(16,24,40,.07)}.ga-popup-item>span:first-child{display:grid;gap:3px;min-width:0}.ga-popup-item small{color:#667085}.ga-popup-variant-prices{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.ga-popup-variant-prices em{font-style:normal;font-size:11px;padding:5px 7px;border-radius:7px;background:#f0f7f5;color:#315f59;white-space:nowrap}.ga-popup-cart{display:grid;gap:7px}.ga-popup-cart-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e6ecee;border-radius:12px;padding:10px}.ga-popup-cart-row>div:first-child{display:grid;gap:3px;min-width:0}.ga-popup-cart-row small{color:#667085}.ga-popup-cart-row>div:last-child{display:flex;align-items:center;gap:7px;white-space:nowrap}.ga-popup-cart-row button{width:32px;height:32px;border:1px solid #d5dfdf;background:#fff;border-radius:9px;cursor:pointer}.ga-popup-modals{position:fixed;inset:0;background:rgba(16,24,40,.48);z-index:10000;display:grid;place-items:center;padding:16px}.ga-popup-mod-box{background:#fff;border-radius:18px;padding:20px;width:min(560px,94vw);max-height:88vh;overflow:auto;box-shadow:0 25px 70px rgba(16,24,40,.25)}.ga-popup-mod-group{display:grid;gap:8px;margin:14px 0}.ga-popup-mod-group label{display:flex;justify-content:space-between;gap:10px;border:1px solid #e4e9eb;border-radius:10px;padding:10px}.ga-popup-mod-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.ga-popup-mod-actions .btn{min-height:44px}.ga-popup-actions{position:sticky;bottom:0;display:grid;grid-template-columns:auto 1fr 1fr;gap:9px;padding:12px 0 0;background:#fff;border-top:1px solid #e5eaec}.ga-popup-actions .btn{min-height:48px;font-weight:850}.ga-popup-actions .btn-success{background:#0b8f78;color:#fff;border-color:#0b8f78}@media(max-width:620px){.ga-pos-share-actions{grid-template-columns:1fr}.ga-pos-add-popup{padding:12px}.ga-popup-line,.ga-popup-item,.ga-popup-cart-row{flex-direction:column;align-items:flex-start}.ga-popup-item{display:flex}.ga-popup-variant-prices{justify-content:flex-start}.ga-popup-actions{grid-template-columns:1fr}.ga-pos-add-dialog .ga-pos-table-dialog-panel{width:100vw;height:100vh;max-height:none;border-radius:0}.ga-pos-add-frame{height:calc(100vh - 180px)}}

.ga-popup-success{padding:10px 12px;border:1px solid #b9dfd6;background:#eefaf7;color:#176b5e;border-radius:10px;font-weight:800;margin-bottom:10px}

/* V12.1.40 — restaurant-standard table seating: seats face each other across the long sides. */
.ga-pos-table-3d{min-height:160px!important;overflow:visible!important}
.ga-pos-table-3d-top{width:126px!important;height:72px!important}
.ga-pos-table-chairs{position:absolute;inset:0;z-index:4;pointer-events:none}
.ga-pos-mini-chair{position:absolute!important;left:var(--seat-left,50%)!important;top:var(--seat-top,50%)!important;transform:translate(-50%,-50%)!important;margin:0!important;z-index:5!important}
/* Popup order history: round → category → item → portion/modifier → pricing. */
.ga-popup-round-title{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:3px 0 8px}
.ga-popup-order-category{margin:8px 0 12px;padding:9px 10px 4px;border:1px solid #e5ecea;border-radius:12px;background:#fbfdfc}
.ga-popup-order-category h4{margin:0 0 5px;color:#087f73;font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.ga-popup-line-rich{align-items:flex-start!important;padding:10px 0!important;border-top:1px solid #edf1f2}
.ga-popup-line-main{display:grid;gap:3px;min-width:0}
.ga-popup-line-main>strong{line-height:1.3}
.ga-popup-existing-mods{display:grid;gap:2px;margin-top:3px;color:#475467;font-size:11px}
.ga-popup-existing-mods span{display:block}
.ga-popup-line-side{display:grid;gap:3px;text-align:right;white-space:nowrap}
.ga-popup-line-side span{font-size:10px;color:#667085;text-transform:capitalize}
.ga-popup-variant-prices{max-width:58%;align-items:flex-end}
.ga-popup-variant-prices em{white-space:normal;text-align:right}
@media(max-width:620px){.ga-popup-line-rich{flex-direction:column!important}.ga-popup-line-side{text-align:left}.ga-popup-variant-prices{max-width:100%;justify-content:flex-start}}

/* V12.1.40.1 — interactive picker hardening: results and rows must always accept pointer/touch input. */
.ga-picker-search-anchor,.ga-promo-item-results,.ga-closing-results,.ga-special-results,.ga-edit-results,.ga-menu-picker-result{pointer-events:auto!important;touch-action:manipulation!important;}
.ga-menu-picker-result{cursor:pointer!important;user-select:none!important;}
.ga-menu-picker-result:disabled{pointer-events:none!important;}

/* V12.1.40 RE-AUDIT FINAL — promotion pickers must never crop or overlay rows.
   Category labels are deliberately static; sticky category headers caused
   headings to sit over price/item rows while the result list was scrolled. */
.ga-promo-item-picker,
.ga-closing-picker,
.ga-special-picker,
.ga-promo-dish-picker,
.ga-edit-picker,
[data-ga-promo-picker],
[data-ga-edit-picker]{position:relative!important;overflow:visible!important;z-index:20!important}
.ga-promo-item-results,
.ga-closing-results,
.ga-special-results,
.ga-edit-results{max-height:min(440px,calc(100vh - 250px))!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
.ga-promo-item-results .ga-menu-picker-category,
.ga-closing-results .ga-menu-picker-category,
.ga-special-results .ga-menu-picker-category,
.ga-edit-results .ga-menu-picker-category{position:static!important;top:auto!important;z-index:auto!important;transform:none!important}
@media(max-width:560px){
 .ga-promo-item-results,.ga-closing-results,.ga-special-results,.ga-edit-results{max-height:min(420px,calc(100vh - 210px))!important}
}

/* V12.1.40 parked-bill interaction hardening */
.ga-popup-success{margin:0 0 10px;padding:10px 12px;border:1px solid #b7dfd4;border-radius:10px;background:#eefaf6;color:#176b5d;font-weight:700;font-size:13px}
/* V12.1.40 parked-bill full-page add-items workflow. Reuses the native POS menu/cart instead of a popup. */
.ga-pos-bill-card-main{color:inherit;text-decoration:none;box-sizing:border-box}.ga-pos-bill-card-main:hover{text-decoration:none;background:#f8fafc;border-radius:10px}.ga-pos-parked-add-head{margin-bottom:12px}.ga-pos-parked-context{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#667085;font-size:13px}.ga-pos-parked-context strong{color:#172033}.ga-pos-parked-instructions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;margin:12px 0 14px;border:1px solid #dbe8e6;border-radius:12px;background:#f5fbfa;color:#344054}.ga-pos-parked-instructions strong{color:#087f73}.ga-pos-parked-grid{margin-top:0}.ga-pos-parked-cart{top:16px}.ga-pos-parked-actions{display:grid;gap:8px;margin-top:14px}.ga-pos-parked-actions .btn{width:100%;justify-content:center}.ga-pos-parked-note{margin:9px 0 0;line-height:1.45}.ga-pos-parked-success{margin-bottom:12px;position:sticky;top:12px;z-index:20;box-shadow:0 6px 20px rgba(15,23,42,.08)}.ga-pos-parked-grid .ga-pos-order-context{margin-bottom:12px}
@media(max-width:850px){.ga-pos-parked-cart{position:static}.ga-pos-parked-add-head .btn{flex:1}.ga-pos-parked-instructions{align-items:flex-start}}
@media(max-width:560px){.ga-pos-parked-context{font-size:12px}.ga-pos-parked-add-head>div:last-child{width:100%}.ga-pos-parked-add-head>div:last-child .btn{flex:1}.ga-pos-parked-instructions{font-size:12px}.ga-pos-parked-grid .ga-pos-items{grid-template-columns:1fr!important}}

.ga-pos-seat-select-label{display:block;margin-top:10px;font-size:12px;font-weight:800}.ga-pos-add-seat{width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--ds-border);border-radius:9px;background:#fff}.ga-pos-bill-group-context{display:grid;gap:3px;padding:10px 12px;border:1px solid #d8e9e5;border-radius:12px;background:#f4fbf9}.ga-pos-bill-group-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#087f73}.ga-pos-bill-group-value{font-weight:800;color:#172033}

/* V12.1.40 Customer Dashboard + Restaurant History workspace */
.ga-my-restaurants-v48{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ga-my-restaurants-v48>a{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 16px;border:1px solid rgba(15,23,42,.09);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 18px rgba(15,23,42,.035);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.ga-my-restaurants-v48>a:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.07);border-color:rgba(8,127,115,.22)}
.ga-my-restaurant-icon{font-size:24px;flex:0 0 auto}.ga-my-restaurant-copy{min-width:0;flex:1}.ga-my-restaurant-copy strong,.ga-my-restaurant-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ga-my-restaurant-copy small{margin-top:4px;color:var(--ds-muted,#667085);font-size:12px}.ga-my-restaurants-v48>b{font-size:11px;white-space:nowrap;color:var(--ds-teal,#087f73)}
.ga-account-summary-v48{display:flex;align-items:center;gap:13px;padding:15px 16px;margin-bottom:12px;border:1px solid rgba(15,23,42,.09);border-radius:16px;background:linear-gradient(135deg,#fff,#f7faf9)}.ga-account-summary-v48>div:nth-child(2){flex:1;min-width:0}.ga-account-summary-v48 strong,.ga-account-summary-v48 small{display:block}.ga-account-summary-v48 small{margin-top:3px;color:var(--ds-muted,#667085);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ga-account-avatar-v48{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e8f6f3;color:#087f73;font-weight:900;font-size:18px;flex:0 0 auto}.ga-account-links-v48{grid-template-columns:repeat(4,1fr)}.ga-account-links-v48>a{align-items:flex-start}.ga-account-links-v48>a>b{margin-left:auto;color:var(--ds-teal,#087f73)}
.ga-order-history-selector{padding:18px 20px;margin:0 0 18px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}.ga-order-history-chips{display:flex;gap:8px;overflow-x:auto;padding-top:10px;scrollbar-width:thin}.ga-order-history-chip{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 13px;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#fff;color:#172033;text-decoration:none;font-size:13px}.ga-order-history-chip small{color:#667085}.ga-order-history-chip.is-active{background:#e8f6f3;border-color:rgba(8,127,115,.28);color:#087f73}.ga-order-history-chip.is-active small{color:#087f73}.ga-customer-order-list-v48{display:grid;gap:10px}.ga-customer-order-card-v48{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid rgba(15,23,42,.09);border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}.ga-customer-order-card-main{min-width:0;flex:1}.ga-order-card-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}.ga-order-number{font-size:12px;font-weight:800;color:#667085}.ga-customer-order-card-main h2{font-size:18px;margin:0 0 4px}.ga-customer-order-card-main p{margin:0;color:#667085;font-size:13px}.ga-customer-order-card-total{display:flex;align-items:center;gap:14px;flex:0 0 auto}.ga-customer-order-card-total>strong{font-size:16px;white-space:nowrap}
@media(max-width:1050px){.ga-my-restaurants-v48{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-account-links-v48{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ga-my-restaurants-v48{grid-template-columns:1fr}.ga-account-summary-v48{align-items:flex-start;flex-wrap:wrap}.ga-account-summary-v48>.btn{margin-left:61px}.ga-account-links-v48{grid-template-columns:1fr}.ga-customer-order-card-v48{align-items:flex-start;flex-direction:column}.ga-customer-order-card-total{width:100%;justify-content:space-between}.ga-order-history-selector{padding:15px}.ga-order-history-chips{margin-right:-5px;padding-right:5px}.ga-customer-orders-v48 .ga-dashboard-head{align-items:flex-start;flex-direction:column}.ga-customer-orders-v48 .ga-dashboard-head .ga-action-row{width:100%}.ga-customer-orders-v48 .ga-dashboard-head .ga-action-row .btn{flex:1;text-align:center}.ga-my-restaurants-v48>a{padding:14px}.ga-my-restaurants-v48>b{display:none}}

/* V12.1.40 dashboard navigation final UX: keep the provider architecture on one desktop row. */
@media (min-width:821px){
  .ga-provider-nav-row .ga-provider-nav{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:visible!important;white-space:nowrap!important;justify-content:center!important;gap:4px!important;scrollbar-width:none!important;}
  .ga-provider-nav-row .ga-provider-nav::-webkit-scrollbar{display:none!important}
  .ga-provider-nav .ga-nav-group>summary,.ga-provider-nav-row .ga-provider-nav>a{font-size:13px!important;padding-left:8px!important;padding-right:8px!important;}
}

/* V12.1.40 FINAL RE-AUDIT — simple 2D table cards; no 3D/perspective table UI. */
.ga-pos-table-card{overflow:hidden!important}
.ga-pos-table-card-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important}
.ga-pos-table-title{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:16px!important;line-height:1.3!important}
.ga-pos-table-meta{display:block!important;color:#667085!important;font-size:12px!important;line-height:1.35!important}
.ga-pos-table-select-card{width:100%!important;text-align:left!important;border:0!important;background:transparent!important;padding:0!important;cursor:pointer!important}
.ga-pos-table-select-card:disabled{cursor:not-allowed!important}
.ga-pos-table-select-card:focus-visible{outline:3px solid rgba(8,127,115,.28)!important;outline-offset:4px!important;border-radius:10px!important}
.ga-pos-table-card.is-occupied{border-color:#f0c58a!important;background:#fffaf2!important}
@media(max-width:560px){.ga-pos-table-title{font-size:15px!important}.ga-pos-table-meta{font-size:11px!important}}
