 :root { --fv-primary: #0c7e0e; --fv-border: #37c839; }
html body .brand, html body .customer-nav nav a:hover,
html body .admin-nav a:hover, html body .eyebrow, html body .hero-kicker {
    color: var(--fv-primary) !important;
}
html body .btn:not(.btn-outline):not(.btn-danger), html body button.btn:not(.btn-outline):not(.btn-danger),
html body .fv-announcement { background: var(--fv-primary) !important; border-color: var(--fv-primary) !important; }
html body .panel, html body .food-card, html body .menu-banner { border-color: var(--fv-border) !important; }
html body:not(.fv-admin-page) {
    background-image: linear-gradient(rgba(255,255,255,0.20),rgba(255,255,255,0.20)), url("/uploads/backgrounds/e31a9ac7862bfa92ce6f61e81b052da3.webp") !important;
    background-size: cover !important;
    background-attachment: fixed !important;
    background-position: center center !important;
}

/* STEP 34 — Uploaded logo appears alongside the name on every page using the global theme. */

/* FOOD VIBES — Step 37: responsive mobile/tablet layout.
   Additive stylesheet loaded at the end of theme.php.
   Does not alter authentication, permissions, totals, or order processing. */
:root {
  --fv-mobile-gutter: clamp(12px, 3vw, 24px);
  --fv-touch-target: 44px;
}
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html, body { max-width:100%; }
html body { font-size:16px; }
html body :is(img, video, svg, canvas) { max-width:100%; }
html body :is(.customer-wrap, .page-wrap, .dashboard, .dv-page, .fv29-shell, .fv30-layout, .fv32-page, .fv-design-layout, .cart-layout, .fv-inbox-shell, .fv-cust-shell, .fv-admin-header) { min-width:0; }
html body :is(.panel, .food-card, .cart-item-details, .product-row, .fv29-menu, .fv29-food-main, .fv29-side, .fv30-card, .fv-inbox-item-main) { min-width:0; }
html body :is(h1, h2, h3, h4, p, .muted, .dv-muted) { overflow-wrap:break-word; }
html body :is(input, select, textarea) { font-size:16px; max-width:100%; }
html body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]), select, textarea) { min-height:44px; }
html body input[type="checkbox"], html body input[type="radio"] { width:18px; height:18px; accent-color:var(--fv-primary,#0fa9a2); }
html body :is(.btn, .dv-btn, .link-btn, .fv30-button, .fv29-step, .fv29-add, .fv-inbox-refresh, .fv-inbox-mark-all, button[type="submit"]) { min-height:44px; touch-action:manipulation; }
html body :is(.btn, .dv-btn, .link-btn, .fv30-button) { text-decoration:none; }
html body :is(.panel, .food-card, .fv30-card, .dv-card) { overflow-wrap:anywhere; }
html body :is(.table-scroll, .fv-table-wrap, .dv-table, .fv30-table-scroll, .fv32-table-wrap, .fv28-table-wrap) {
  max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch;
}
html body :is(.table-scroll, .fv-table-wrap, .dv-table, .fv30-table-scroll, .fv32-table-wrap, .fv28-table-wrap) table { width:100%; }
html body :is(.table-scroll, .fv-table-wrap, .dv-table, .fv30-table-scroll, .fv32-table-wrap, .fv28-table-wrap) :is(th,td) { vertical-align:middle; }
html body :is(.admin-shell, .customer-top, .customer-nav, .admin-top, .fv30-layout, .fv-design-layout, .fv29-layout, .cart-layout) { min-width:0; }
/* Keep focus rings clearly visible on touch devices using keyboards. */
html body :focus-visible { outline:3px solid var(--fv-primary,#0fa9a2)!important; outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
  html body :is(.food-card,.fv-inbox-item) { transition:transform .2s ease,box-shadow .2s ease; }
  html body .food-card:hover { transform:translateY(-3px); }
}

/* Laptop / landscape tablet: less wasted space, and menu navigation stays reachable. */
@media (max-width:1100px) {
  html body :is(.customer-wrap,.page-wrap,.dashboard,.dv-page,.fv29-shell,.fv30-layout,.fv-inbox-shell,.fv-cust-shell) {
    width:100%; max-width:100%!important; padding-left:var(--fv-mobile-gutter)!important; padding-right:var(--fv-mobile-gutter)!important;
  }
  html body .food-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; }
  html body .food-photo { min-height:0!important; height:auto; aspect-ratio:4/3; }
  html body .hero-home { padding:40px var(--fv-mobile-gutter)!important; }
  html body .cart-layout { grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr); gap:16px; }
  html body .fv-design-layout { gap:16px; }
  html body .fv-admin-header { gap:10px!important; padding:12px 16px!important; }
  html body .fv-admin-quick { gap:3px; }
  html body .fv-admin-quick a { padding:8px!important; }
  html body .fv-admin-dropdown { width:min(940px,calc(100vw - 24px)); }
}

/* Portrait tablet and small laptop. */
@media (max-width:900px) {
  html body .customer-nav { display:flex!important; align-items:center!important; flex-direction:column!important; gap:8px!important; padding:12px var(--fv-mobile-gutter)!important; }
  html body .customer-nav>.brand { align-self:flex-start; }
  html body .customer-nav nav {
    width:100%; max-width:100%; display:flex!important; flex-wrap:nowrap!important; gap:4px!important; overflow-x:auto;
    align-items:center; padding:2px 0 7px; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch;
    scrollbar-width:thin; scrollbar-color:var(--fv-primary,#12b8b0) transparent;
  }
  html body .customer-nav nav a { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:44px; padding:8px 12px!important; border-radius:10px; white-space:nowrap; }
  html body .customer-nav nav :is(a.selected,a[aria-current="page"]) { background:color-mix(in srgb,var(--fv-primary,#12b8b0) 12%,transparent); }
  html body .hero-home { gap:20px!important; }
  html body .hero-home h1 { font-size:clamp(2.1rem,6vw,3.5rem)!important; }
  html body .cart-layout { display:grid; grid-template-columns:minmax(0,1fr)!important; }
  html body .cart-layout .order-summary { position:static!important; }
  html body .fv29-layout,html body .dv-columns,html body .fv-design-layout { grid-template-columns:minmax(0,1fr)!important; }
  html body .fv29-summary,html body .fv-design-preview-wrap { position:static!important; }
  html body .fv-design-preview-wrap { order:-1; }
  html body .fv-admin-dropdown { grid-template-columns:repeat(2,minmax(0,1fr))!important; max-height:min(68vh,650px); overflow-y:auto; overscroll-behavior:contain; }
  html body .fv-inbox-hero { padding:26px!important; min-height:auto; }
  html body .fv-inbox-hero-icon { display:none!important; }
  html body .fv30-nav { flex-wrap:nowrap; width:100%; max-width:100%; overflow-x:auto; padding-bottom:6px; }
  html body .fv30-nav a { flex:none; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; }
  html body .stats { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

/* Phone-sized screens. */
@media (max-width:640px) {
  :root { --fv-mobile-gutter:14px; }
  html body :is(.customer-wrap,.page-wrap,.dashboard,.dv-page,.fv29-shell,.fv30-layout,.fv-inbox-shell,.fv-cust-shell) {
    padding-left:var(--fv-mobile-gutter)!important; padding-right:var(--fv-mobile-gutter)!important;
  }
  html body .customer-top { border-bottom:1px solid var(--fv-border,#f5aaaa)!important; }
  html body .customer-nav { padding:9px 14px 6px!important; }
  html body .customer-nav .brand { font-size:1.38rem!important; line-height:1.2; }
  html body .customer-nav nav a { font-size:.85rem!important; font-weight:750; }
  html body .fv-announcement { font-size:.76rem; line-height:1.4; padding:7px 14px; }
  html body :is(.hero-home,.menu-banner,.dv-hero) { border-radius:0; }
  html body .hero-home { padding:30px 18px 35px!important; flex-direction:column!important; text-align:left!important; align-items:stretch!important; }
  html body .hero-home h1 { font-size:clamp(2rem,9vw,2.8rem)!important; line-height:1.13!important; margin:14px 0; }
  html body .hero-home p { font-size:1rem!important; }
  html body .fv-hero-photo { width:min(78vw,320px)!important; height:min(78vw,320px)!important; min-width:0!important; min-height:0!important; margin:15px auto 0; border-width:5px; border-radius:27px; }
  html body .menu-banner { padding:26px 18px!important; margin:0 0 16px; }
  html body .section-heading { align-items:flex-start; gap:10px; }
  html body .section-heading :is(h1,h2) { font-size:clamp(1.5rem,6.2vw,2rem)!important; line-height:1.2; }
  html body .food-grid { grid-template-columns:minmax(0,1fr)!important; gap:13px!important; }
  html body .food-card { border-radius:16px!important; }
  html body .food-photo { width:100%; aspect-ratio:16/10; max-height:240px; }
  html body .food-content { padding:15px!important; }
  html body .food-content :is(h2,h3) { font-size:1.14rem!important; }
  html body .food-content p { min-height:0!important; }
  html body .food-bottom { gap:10px; flex-wrap:wrap; }
  html body .food-bottom .btn { min-height:44px; padding:10px 17px; }
  html body :is(.panel,.fv-design-section,.fv30-card,.fv32-panel,.dv-card) { padding:16px!important; border-radius:15px!important; }
  html body .cart-item { gap:10px; align-items:flex-start; flex-wrap:wrap; }
  html body .cart-thumb { width:80px; height:80px; flex:0 0 80px; }
  html body .cart-item>strong { width:100%; text-align:right; }
  html body .cart-controls { align-items:stretch; gap:8px; }
  html body .cart-controls form { max-width:100%; }
  html body .cart-controls :is(.btn,button) { min-height:44px; }
  html body :is(.two-cols,.dv-columns,.fv-color-row) { grid-template-columns:minmax(0,1fr)!important; }
  html body .filter-form>div,html body .filter-form>.btn { min-width:0; width:100%; }
  html body .form-field label { line-height:1.45; }
  html body .product-row { flex-wrap:wrap; gap:12px; }
  html body .product-actions { width:100%; justify-content:flex-end; }
  html body .product-thumbnail { width:76px; height:76px; }
  html body .category-row { flex-direction:column; align-items:stretch; }
  html body .fv-add-category-row { flex-wrap:wrap; }
  html body .fv-add-category-row input { flex-basis:100%; }
  html body .fv-design-preview-top { padding:13px!important; }
  html body .fv-design-preview-top span { font-size:.68rem; }
  html body .fv-design-preview-hero { margin:10px!important; min-height:210px!important; padding:18px 14px!important; }
  html body .fv-design-preview-cards { gap:7px; padding:0 10px 12px; }
  html body .fv-design-preview-cards span { height:43px; }
  html body .fv-admin-header { display:flex!important; justify-content:space-between!important; align-items:center!important; gap:8px!important; padding:10px 12px!important; }
  html body .fv-admin-header>.brand { font-size:1.25rem!important; max-width:100%; min-width:0; white-space:normal; }
  html body .fv-admin-header .brand span { font-size:.65rem; }
  html body .fv-admin-quick { display:none!important; }
  html body .fv-admin-menu { margin-left:auto; }
  html body .fv-admin-menu summary { min-height:44px; font-size:.78rem; padding:8px 10px; }
  html body .fv-admin-dropdown { left:50%; width:calc(100vw - 20px); grid-template-columns:minmax(0,1fr)!important; gap:14px; padding:15px; max-height:min(67dvh,630px); overflow-y:auto; }
  html body .fv-admin-links-group h2 { margin:0 0 4px; }
  html body .fv-admin-links-group a { min-height:44px; display:flex; align-items:center; padding:9px 12px; }
  html body .fv-admin-tools { width:100%; justify-content:space-between; gap:8px; }
  html body .fv-admin-tools .btn { min-height:44px; }
  html body .fv-admin-tools :is(.fv-notify-widget,.fv-notify-sound) { min-width:0; }
  html body .stats { grid-template-columns:minmax(0,1fr)!important; gap:10px; }
  html body .stats>div { padding:15px!important; }
  html body .stats strong { font-size:1.65rem; }
  html body :is(.actions-row,.fv-row-actions,.dv-actions,.fv30-action-buttons,.fv29-actions) { gap:8px; flex-wrap:wrap; }
  html body .dv-nav { align-items:flex-start; }
  html body .dv-form>div { min-width:0; }
  html body .dv-auth,.auth-card { width:calc(100% - 28px)!important; max-width:440px; margin:22px auto!important; padding:20px!important; }
  html body .fv30-topbar { padding:12px!important; gap:12px; }
  html body .fv30-action-buttons { width:100%; }
  html body .fv30-action-buttons .fv30-button { flex:1 1 150px; }
  html body .fv29-shell { padding-top:10px!important; }
  html body .fv29-food { padding:12px; }
  html body .fv29-controls { width:100%; justify-content:flex-start; }
  html body .fv29-products { max-height:none; }
  html body .fv29-side,.fv29-customer,.fv29-summary { min-width:0; }
  html body .fv28-tabs { display:flex; flex-wrap:wrap; }
  html body .fv28-tabs a { flex:1 1 135px; text-align:center; min-height:44px; }
  html body .fv28-filter { display:flex; flex-wrap:wrap; gap:8px; }
  html body .fv28-filter>* { flex:1 1 145px; min-width:0; }
  html body .fv-inbox-hero { padding:20px 17px!important; }
  html body .fv-inbox-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  html body .fv-inbox-summary-card { padding:12px; }
  html body .fv-inbox-item { padding:15px!important; gap:10px; }
  html body .fv-inbox-item-icon { width:39px; height:39px; flex:0 0 39px; }
  html body .fv-inbox-section-head { flex-direction:column; align-items:flex-start; }
  html body .fv-inbox-actions { width:100%; }
  html body .fv-inbox-actions :is(a,button) { min-height:44px; }
  html body .fv-mobile-shortcuts { z-index:50; bottom:0; gap:4px; padding-bottom:env(safe-area-inset-bottom)!important; }
  html body .fv-mobile-shortcuts a { min-height:46px; }
  html body .site-footer { font-size:.78rem; padding:20px 14px max(22px,env(safe-area-inset-bottom)); }
  html body:not(.fv-admin-page) { background-attachment:scroll!important; }
  /* Avoid a whole-page horizontal scrollbar from a single wide report/order table. */
  html body :is(.panel,.dv-card,.fv30-card,.fv32-panel)>table { display:block; width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  html body :is(.table-scroll,.fv-table-wrap,.dv-table,.fv30-table-scroll,.fv32-table-wrap,.fv28-table-wrap) table { min-width:540px; }
  html body :is(.panel,.dv-card,.fv30-card,.fv32-panel)>table :is(th,td) { white-space:nowrap; }
}
@media (max-width:390px) {
  html body .customer-nav .brand { font-size:1.22rem!important; }
  html body .fv-admin-header>.brand { font-size:1.08rem!important; }
  html body .fv-admin-menu summary { font-size:.74rem; }
  html body .cart-controls .qty-form { flex-wrap:wrap; }
  html body .cart-item-details { flex:1 1 175px; }
  html body .fv30-topbar .fv30-brand { font-size:1.08rem; }
  html body .fv29-controls .fv29-step { min-width:42px; }
}
@media (prefers-reduced-motion:reduce) {
  html body :is(.food-card,.fv-inbox-item,.btn,.dv-btn,button) { transition:none!important; transform:none!important; }
}

/* Chat stays usable when mobile keyboard is open. */
@media (max-width:640px) {
  html body .fv-chat-thread { height:min(45dvh,370px); min-height:190px; padding:12px; }
  html body .fv-chat-bubble { max-width:94%; padding:10px 12px; }
  html body .fv-chat-form { display:flex; flex-direction:column; gap:8px; }
  html body .fv-chat-form textarea { min-height:85px; width:100%; }
  html body .fv-chat-form .btn { width:100%; }
  html body .report-chart { max-width:100%; overflow-x:auto; }
  html body :is(.report-kpis,.report-grid) { grid-template-columns:minmax(0,1fr)!important; }
}





/* FOOD VIBES Step 52: admin-selected typography; links, icons, coloured buttons,
   badges, light previews and printed documents retain their own contrast styling. */
:root { --fv52-font: Verdana, Geneva, sans-serif; --fv52-size: 14px; --fv52-text: #000000; }
html { font-size: var(--fv52-size) !important; }
html body { font-family: var(--fv52-font) !important; font-size: var(--fv52-size) !important; color: var(--fv52-text) !important; }
html body :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,td,th,blockquote,small,summary,nav,a,button,input,textarea,select,output):not(.fa):not(.fas):not(.far):not(.fab):not(.material-icons):not([class*="lucide"]) {
    font-family: var(--fv52-font) !important;
}
html body :is(p,li,label,legend,blockquote,td,th,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,output) {
    font-size: var(--fv52-size) !important;
    color: var(--fv52-text) !important;
}
html body :is(h1,h2,h3,h4,h5,h6) { color: var(--fv52-text) !important; }
html body h1 { font-size: clamp(27px, 29px, 46px) !important; }
html body h2 { font-size: clamp(23px, 23px, 36px) !important; }
html body h3 { font-size: clamp(19px, 19px, 30px) !important; }
html body :is(small,.small,.tiny) { font-size: 12px !important; }
html body :is(header nav a,.customer-nav a,.admin-nav a,.fv-admin-quick a,.fv-admin-links-group a,.dv-nav a,.fv30-nav a,
    .site-footer a,.site-footer p) {
    font-size: clamp(12px, calc(var(--fv52-size) * .88), 19px) !important;
}
html body :is(button,.btn,.dv-btn,.fv30-button,.fv29-button) {
    font-size: clamp(13px, calc(var(--fv52-size) * .90), 20px) !important;
}
/* Preserve colored control text and status pills for legibility. */
html body :is(button,.btn,[role="button"],.dv-btn,.fv30-button,.status-pill,.available-pill,.dv-pill,.fv30-status,.badge) {
    font-family: var(--fv52-font) !important;
}
/* Avoid forcing typography into Google's account-selection button or icon glyphs. */
html body :is(.g_id_signin,[id^="gsi_"]) { font-size: revert !important; }
@media(max-width:600px) {
    html body h1 { font-size: clamp(25px, 7vw, 29px) !important; }
}
/* Document printing, receipt sheets and Design Studio preview stay intentionally scoped. */
@media print {
    html,html body { font-size: 12pt !important; color: #172f31 !important; }
    html body :is(td,th,p,li,label,small) { font-size: 10pt !important; color: #172f31 !important; }
}
/* FOOD VIBES / FOOD VIBE — Step 75 Modern Light
   Presentation-only layer. Must be emitted after legacy theme, Step 73 and Step 74.
   Screen-only to preserve printed receipts and invoices.
   No external fonts, JavaScript, images, or database changes required. */
@media screen {
:root {
  color-scheme: light !important;
  --fv75-canvas: #f7f9fd;
  --fv-text: #172639;
  --fv-muted: #65768b;
  --fv-soft: #f2f7fb;
  --fv-shadow: 0 10px 34px rgba(22,46,75,.064);
  --fv47-row: #fff;
  --fv47-row-alt: #f8fafd;
  --fv47-row-hover: #edf6fb;
  --fv47-text: #31435a;
  --fv47-muted: #65768b;
  --fv47-link: #117c9b;
  --fv47-border: #e5eaf2;
  --fv50-nav-bg: #fff;
  --fv50-action-bg: #fff;
  --fv50-text: #31435a;
  --fv50-subtle-text: #65768b;
  --fv50-link: #0b7588;
  --fv50-edge: #dce6ef;
  --fv75-paper: #ffffff;
  --fv75-paper-soft: #fbfcff;
  --fv75-ink: #172639;
  --fv75-ink-soft: #31435a;
  --fv75-muted: #65768b;
  --fv75-border: #e5eaf2;
  --fv75-border-strong: #cfdae8;
  --fv75-mint: #ebfbf5;
  --fv75-blue: #edf5ff;
  --fv75-lilac: #f5f0ff;
  --fv75-accent: #0d827f;
  --fv75-accent-dark: #096d6b;
  --fv75-primary-gradient: linear-gradient(105deg,#0c8c91 0%,#1476bc 100%);
  --fv75-rainbow: linear-gradient(90deg,#ef647b 0%,#f4b461 17%,#eccd65 32%,#43bb99 53%,#5caaeb 74%,#9378e8 100%);
  --fv75-radius: 20px;
  --fv75-shadow: 0 10px 34px rgba(22,46,75,.064);
  --fv75-shadow-hover: 0 22px 50px rgba(22,46,75,.12);
  --fv71-surface: #fff;
  --fv71-soft: #f3f8fb;
  --fv71-ink: #172639;
  --fv71-secondary: #65768b;
  --fv71-line: #e5eaf2;
  --fv71-elev: 0 9px 26px rgba(22,46,75,.07);
  --fv-cust-ink: #172639;
  --fv-cust-muted: #65768b;
  --fv-cust-light: #f7fafc;
  --fv-cust-stroke: #e5eaf2;
}
html { color-scheme:light!important; background:#f7f9fd!important; scroll-behavior:smooth; }
html body {
  background:radial-gradient(circle at 1% 2%,rgba(219,237,255,.45),transparent 25%),
             radial-gradient(circle at 100% 17%,rgba(242,229,255,.35),transparent 23%),
             #f7f9fd!important;
  color:var(--fv75-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  line-height:1.52;
  -webkit-font-smoothing:antialiased;
}
html body::before {
  content:"";position:fixed;left:0;right:0;top:0;height:4px;z-index:2000;
  background:var(--fv75-rainbow)!important;box-shadow:0 1px 12px rgba(22,46,75,.07);
}
html body :is(h1,h2,h3,h4,h5,h6) {color:var(--fv75-ink)!important;letter-spacing:-.035em;line-height:1.2;}
html body a {color:#117c9b;}
html body a:hover {color:#075c7a;}
html body :is(.muted,.tiny,.small,.dv-muted,.small-link,.fv-cust-section-description,.fv-cust-hero-sub,.fv-inbox-footnote,.fv-inbox-item p) {
  color:var(--fv75-muted)!important;
}
html body :is(.eyebrow,.hero-kicker,.fv-cust-eyebrow,.fv-cust-kicker) {
  color:var(--fv75-accent)!important;font-weight:850;letter-spacing:.14em;text-transform:uppercase;
}
html body :is(.customer-wrap,.page-wrap,.dashboard,.dv-page,.fv-inbox-shell,.fv-cust-shell) {max-width:1240px;}
html body :is(.customer-wrap,.page-wrap) {padding-top:clamp(22px,3vw,37px);padding-bottom:54px;}
html body :is(.page-wrap,.customer-wrap,.dashboard,.dv-page,.fv-inbox-shell,.fv-cust-shell) {min-width:0;}
/* Header, top nav, notifications */
html body :is(.customer-top,.admin-top,.dash-top,.fv-cust-header,.dv-nav,.fv-inbox-header) {
  background:rgba(255,255,255,.96)!important;
  border-color:var(--fv75-border)!important;
  color:var(--fv75-ink)!important;
  box-shadow:0 3px 18px rgba(22,46,75,.045)!important;
}
html body :is(.customer-top,.admin-top) {position:relative;z-index:70;}
html body .customer-nav {max-width:1320px;gap:18px;padding-top:14px;padding-bottom:14px;}
html body :is(.brand,.logo,.fv-cust-brand,.fv-inbox-brand) {
  color:#203148!important;font-weight:900;letter-spacing:-.06em;text-decoration:none;
}
html body :is(.brand,.logo,.fv-cust-brand,.fv-inbox-brand):hover {color:#0d827f!important;}
html body :is(.brand,.logo,.fv-cust-brand,.fv-inbox-brand) span {color:var(--fv75-accent)!important;}
html body :is(.customer-nav nav,.admin-nav,.fv-admin-quick) {gap:clamp(5px,1vw,13px);}
html body :is(.customer-nav nav a,.admin-nav a,.fv-admin-quick a,.fv-cust-headlink,.fv-inbox-back,.fv-inbox-refresh) {
  color:#52647a!important;font-weight:750;border-radius:11px;text-decoration:none;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
html body :is(.customer-nav nav a:hover,.customer-nav nav a.selected,.customer-nav nav a[aria-current="page"],
              .admin-nav a:hover,.admin-nav a.is-active,.fv-admin-quick a:hover,.fv-admin-quick a.is-active,
              .fv-cust-headlink:hover,.fv-inbox-back:hover,.fv-inbox-refresh:hover) {
  color:#075e69!important;background:#eaf8f8!important;box-shadow:none!important;
}
html body :is(.fv-announcement) {
  background:#eef7fc!important;color:#355b75!important;border-bottom:1px solid #dcebf4!important;
  padding:9px 16px;font-size:.81rem;letter-spacing:.01em;
}
html body :is(.fv-admin-menu summary,.fv-notify-sound,.btn.btn-outline,.dv-btn.secondary,.fv-outline,
              .fv-control,.fv-cust-secondary,.fv-cust-logout button,.logout .btn.btn-dark,.secondary) {
  color:#315369!important;background:#fff!important;border:1px solid var(--fv75-border-strong)!important;
  border-radius:12px!important;box-shadow:none!important;
}
html body :is(.fv-admin-menu summary,.fv-notify-sound,.btn.btn-outline,.dv-btn.secondary,.fv-outline,
              .fv-control,.fv-cust-secondary,.fv-cust-logout button,.logout .btn.btn-dark,.secondary):hover {
  background:#f1f8fc!important;color:#0e6973!important;border-color:#aecfd7!important;
}
html body .fv-admin-dropdown,
html body .admin-shell .fv-admin-compact-nav .fv-admin-submenu {
  background:#fff!important;color:var(--fv75-ink)!important;
  border:1px solid var(--fv75-border)!important;border-radius:17px!important;
  box-shadow:0 19px 45px rgba(22,46,75,.15)!important;
}
html body :is(.fv-admin-links-group a,.fv-admin-submenu a,.fv-admin-links-group h2) {color:var(--fv75-ink-soft)!important;}
html body :is(.fv-admin-links-group a:hover,.fv-admin-submenu a:hover) {color:#0b777d!important;background:#eff8fb!important;}
html body .admin-shell .fv-admin-compact-nav > :is(a.fv-admin-direct,.fv-admin-group > summary) {
  color:#536579!important;font-family:inherit!important;
}
html body .admin-shell .fv-admin-compact-nav > :is(a.fv-admin-direct,.fv-admin-group > summary):hover {
  background:#eff8fb!important;color:#0b777d!important;
}
/* Cards and areas */
html body :is(.panel,.menu-controls,.food-card,.auth-card,.fv-address-card,.fv-cust-shortcut,
              .fv-cust-stat,.fv-cust-orders,.fv-inbox-summary-card,.fv-inbox-item,.fv-inbox-empty,
              .fv-inbox-filter-empty,.fv-design-section,.fv-admin-dropdown,.dv-auth,.dv-card,
              .dv-panel,.fv29-side,.fv30-card,.fv30-panel,.order-summary,.pay-panel,.report-kpi,
              .page-card,.fv-custom-card,.fv73-feature,.fv71-order-card,.fv71-tracking,.fv-chat-bubble) {
  background:var(--fv75-paper)!important;color:var(--fv75-ink)!important;
  border:1px solid var(--fv75-border)!important;
  border-radius:var(--fv75-radius)!important;
  box-shadow:var(--fv75-shadow)!important;
}
html body .panel {padding:clamp(19px,2.4vw,30px);margin-bottom:22px;}
html body :is(.panel,.food-card,.auth-card,.dv-card,.fv30-card) {min-width:0;}
html body .panel :is(h1,h2,h3) {color:var(--fv75-ink)!important;}
html body .panel h1 {font-size:clamp(1.72rem,2.5vw,2.25rem);}
html body .panel h2 {font-size:clamp(1.22rem,1.85vw,1.5rem);}
html body .panel :is(p,.muted) {line-height:1.6;}
html body :is(.stats>div,.fv-community .fv-stats>div) {
  background:linear-gradient(145deg,#f2f9fc,#f9f5ff)!important;border:1px solid #e5eaf2!important;
  border-radius:17px!important;box-shadow:none!important;
}
html body :is(.stats strong,.fv-cust-stat strong,.fv-cust-stat-icon,.fv-cust-shortcut-copy strong) {color:#182e43!important;}
html body :is(.stats span,.fv-cust-stat span,.fv-cust-shortcut-copy small) {color:#60738a!important;}
html body :is(.fv-cust-shortcut,.fv-cust-stat,.fv-inbox-item,.food-card) {transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
html body :is(.fv-cust-shortcut,.food-card,.fv-inbox-item):hover {
  transform:translateY(-3px);border-color:#c4d9e7!important;box-shadow:var(--fv75-shadow-hover)!important;
}
/* Buttons: primary, outline, danger. Avoid modifying actual form behavior. */
html body :is(.btn:not(.btn-outline):not(.btn-danger):not(.btn-dark),.link-btn,.dv-btn:not(.secondary),
              .fv56-order-btn,.fv56-detail-add,.fv-action,.pay-btn,.fv-cust-primary,.fv71-sticky-submit,
              .fv71-floating-action > b) {
  background:var(--fv75-primary-gradient)!important;color:#fff!important;border:1px solid transparent!important;
  border-radius:12px!important;font-weight:800!important;box-shadow:0 8px 19px rgba(15,132,146,.17)!important;
  text-decoration:none;
}
html body :is(.btn:not(.btn-outline):not(.btn-danger):not(.btn-dark),.link-btn,.dv-btn:not(.secondary),
              .fv56-order-btn,.fv56-detail-add,.fv-action,.pay-btn,.fv-cust-primary,.fv71-sticky-submit,
              .fv71-floating-action > b):hover {filter:brightness(.96);transform:translateY(-1px);}
html body :is(.btn-danger,.fv-delete-confirm,.fv-delete-disclosure > summary) {
  background:#fff3f3!important;border:1px solid #f0b8c0!important;color:#a82b45!important;
  border-radius:11px!important;box-shadow:none!important;
}
html body :is(.btn-danger,.fv-delete-confirm,.fv-delete-disclosure > summary):hover {
  background:#ffe9ed!important;color:#912039!important;border-color:#e79aa6!important;
}
html body .fv-delete-form {background:#fffaf9!important;border:1px solid #f2cbd0!important;color:#5a2a34!important;box-shadow:0 12px 30px rgba(75,35,52,.09)!important;}
html body .fv-delete-form :is(p,label) {color:#69464d!important;}
html body .fv-delete-form input[type=password] {background:#fff!important;color:#172639!important;border:1px solid #cfdce7!important;}
html body :is(.fv-inline-category-button,.fv-favorite-btn,.fv-mini button) {box-shadow:none!important;}
/* Inputs */
html body label,html body :is(.dv-label,.form-field label,.filter-form label) {color:#31435a!important;font-weight:730;}
html body :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]), textarea, select) {
  background:#fff!important;color:#223348!important;border:1px solid #cdd8e4!important;
  border-radius:12px!important;box-shadow:0 1px 0 rgba(16,45,75,.012)!important;
  outline-color:#0c929a;min-height:43px;
}
html body :is(input,textarea)::placeholder {color:#8392a5!important;opacity:1!important;}
html body :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),textarea,select):focus-visible {
  outline:3px solid rgba(6,157,156,.19)!important;outline-offset:0!important;
  border-color:#29a9ac!important;box-shadow:0 0 0 3px rgba(6,157,156,.08)!important;
}
html body :is(button,a,summary):focus-visible {outline:3px solid #197ba9!important;outline-offset:3px;}
html body input[type=checkbox],html body input[type=radio],html body input[type=range] {accent-color:#0b8e95!important;}
html body .payment-options {background:#fbfdff!important;border:1px solid var(--fv75-border)!important;border-radius:16px!important;}
/* Statuses and callouts */
html body :is(.notice,.fv-toast,.report-note,.fv73-note,.empty-state,.fv-store-message) {border-radius:14px!important;}
html body .notice-good {background:#eaf9ef!important;color:#17683e!important;border:1px solid #bfe9ca!important;}
html body .notice-bad {background:#fff0f2!important;color:#a42a40!important;border:1px solid #f2c5cd!important;}
html body :is(.status-pill,.dv-pill) {background:#eaf5fc!important;color:#23638c!important;border:1px solid #d7e9f5!important;}
html body .available-pill {background:#eaf8ee!important;color:#22734b!important;border:1px solid #d3ead9!important;}
html body :is(.fv-cust-status--pending,.fv71-status-preparing) {background:#fff7e4!important;color:#946318!important;}
html body :is(.fv-cust-status--progress,.fv71-status-out_for_delivery) {background:#eaf5ff!important;color:#276c9f!important;}
html body :is(.fv-cust-status--completed,.fv71-status-delivered) {background:#eaf9ef!important;color:#226b43!important;}
html body :is(.fv-cust-status--cancelled,.fv71-status-cancelled) {background:#fff0f2!important;color:#a42a40!important;}
html body .empty-state {background:#fff!important;border:1px dashed #cad7e6!important;color:#65768b!important;}
/* Home, menu, product */
html body .hero-home {
  position:relative;isolation:isolate;overflow:hidden;min-height:390px;
  background:
    radial-gradient(circle at 84% 15%,rgba(124,165,251,.17),transparent 28%),
    radial-gradient(circle at 9% 94%,rgba(85,198,172,.12),transparent 26%),
    linear-gradient(117deg,#fff 0%,#f4fbfb 43%,#f6f2ff 100%)!important;
  border:1px solid #e3ebf4!important;border-radius:0 0 31px 31px!important;
  box-shadow:0 12px 38px rgba(22,46,75,.05)!important;
}
html body .hero-home::before {content:"";position:absolute;z-index:-1;pointer-events:none;
  top:-16%;right:4%;width:min(36vw,450px);aspect-ratio:1;border-radius:50%;
  background:conic-gradient(from 10deg,#ec87a6,#f6c17b,#f2e19d,#93dfc2,#9ad2f4,#b4a5f3,#ec87a6);
  opacity:.37;filter:blur(6px);
}
html body .hero-home::after {content:"";position:absolute;z-index:-1;pointer-events:none;
  top:8%;right:11%;width:min(26vw,320px);aspect-ratio:1;border-radius:50%;
  background:rgba(255,255,255,.65);box-shadow:0 0 0 16px rgba(255,255,255,.28);
}
html body .hero-home .hero-inner {max-width:760px;position:relative;z-index:1;}
html body .hero-home :is(h1,h2) {font-size:clamp(2.3rem,5vw,4.55rem)!important;line-height:1.07!important;letter-spacing:-.06em!important;}
html body .hero-home p {color:#5c6e82!important;max-width:570px;line-height:1.7;}
html body .hero-home .hero-kicker {
  background:#fff!important;border:1px solid #dce8eb!important;
  color:#087c83!important;padding:9px 14px;border-radius:999px;
  box-shadow:0 5px 17px rgba(22,46,75,.04);
}
html body :is(.menu-banner,.dv-hero,.fv-cust-hero,.fv-inbox-hero,.report-welcome) {
  background:
    radial-gradient(circle at 90% 0%,rgba(145,165,250,.12),transparent 35%),
    linear-gradient(115deg,#fff 0%,#f0fbf9 60%,#f4f2ff 100%)!important;
  border:1px solid #e3ebf4!important;border-radius:25px!important;
  color:var(--fv75-ink)!important;box-shadow:0 9px 29px rgba(22,46,75,.045)!important;
}
html body :is(.menu-banner,.dv-hero,.fv-cust-hero,.fv-inbox-hero,.report-welcome) :is(h1,h2,h3) {color:#183049!important;}
html body :is(.menu-banner,.dv-hero,.fv-cust-hero,.fv-inbox-hero,.report-welcome) p {color:#61738a!important;}
html body .menu-controls {padding:20px 23px;}
html body .food-grid {gap:clamp(14px,2vw,24px);}
html body .food-card {overflow:hidden;position:relative;border-radius:21px!important;}
html body .food-photo {
  background:linear-gradient(135deg,#eef7fd,#f1f7f6 50%,#f8f2ff)!important;
  overflow:hidden;
}
html body .food-photo img {object-fit:cover;transition:transform .38s ease;}
html body .food-card:hover .food-photo img {transform:scale(1.035);}
html body .food-content {padding:19px 21px;}
html body .food-content :is(h2,h3) {color:#203047!important;line-height:1.3;}
html body .food-content p {color:#6a798d!important;}
html body .food-category {
  display:inline-flex;color:#117e86!important;font-size:.7rem;font-weight:850;letter-spacing:.06em;
  background:#eaf8f7;border-radius:999px;padding:5px 10px;
}
html body .food-bottom {padding-top:12px;border-top:1px solid #ecf0f5;}
html body .food-bottom strong,html body :is(.price,.pay-total) {color:#19364d!important;font-weight:900;letter-spacing:-.035em;}
html body .fv-mini a {color:#367496!important;}
html body .fv71-chip {background:#fff!important;color:#526a7c!important;border:1px solid #dce5ee!important;}
html body .fv71-chip.is-active {background:#e5f6f6!important;color:#086f76!important;border-color:#6bbdbd!important;}
html body .fv71-tracking-top strong {color:#1e3549!important;}
html body .fv71-step-dot {background:#eaf4f7!important;border-color:#cfdfe8!important;}
html body .fv71-status-steps li.is-done .fv71-step-dot {background:#0b9791!important;border-color:#0b9791!important;}
/* Cart, checkout, tracking */
html body .cart-layout {gap:23px;}
html body .cart-item {border-bottom:1px solid #eaf0f5!important;}
html body :is(.cart-thumb,.photo-fallback,.fv-cust-shortcut-icon,.fv-cust-stat-icon,.fv-cust-hero-symbol,.fv-inbox-item-icon,.fv-inbox-summary-symbol) {
  background:linear-gradient(135deg,#e9f8f5,#eef3ff)!important;border:1px solid #e3eaf2!important;color:#117e86!important;
}
html body .bill-row {border-color:#e7edf4!important;}
html body .bill-row.total {color:#172639!important;border-top:1px solid #d8e3ef!important;}
html body .order-summary {overflow:hidden;}
html body .fv71-floating-action {background:#fff!important;color:#172639!important;border:1px solid #e1e9f2!important;box-shadow:0 12px 38px rgba(22,46,75,.15)!important;}
html body .fv71-floating-action strong {color:#183149!important;}
html body .fv71-floating-action small {color:#647589!important;}
html body .fv71-bottom-nav {background:#fff!important;color:#637589!important;border-top:1px solid #e0e8f1!important;box-shadow:0 -9px 32px rgba(22,46,75,.07)!important;}
html body .fv71-bottom-nav::before {background:var(--fv75-rainbow)!important;}
html body .fv71-bottom-nav a {color:#607488!important;}
html body .fv71-bottom-nav a.is-active {color:#087e85!important;background:#e9f8f7!important;}
html body .fv-mobile-shortcuts {background:#fff!important;color:#607488!important;border-color:#e4eaf2!important;box-shadow:0 -8px 24px rgba(22,46,75,.06)!important;}
html body .fv-mobile-shortcuts a {color:#526e82!important;}
/* Admin + manager dashboard */
html body .admin-shell .admin-top {min-height:72px;background:#fff!important;border-bottom:1px solid #e7edf3!important;}
html body .admin-shell .page-wrap {max-width:1240px;}
html body .admin-shell .fv-admin-dropdown {background:#fff!important;}
html body .report-welcome {position:relative;overflow:hidden;}
html body .report-welcome::before {content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--fv75-rainbow)!important;}
html body .report-kpis {gap:14px;}
html body .report-kpi {border-top-width:3px!important;min-width:0;}
html body .report-kpi strong {font-variant-numeric:tabular-nums;color:#203148!important;}
html body .report-kpi span {color:#66768a!important;}
html body .report-kpi small {color:#75879b!important;}
html body .report-chart {background:#fbfdff;border:1px solid #edf1f6;border-radius:17px;padding:14px;}
html body .report-bar-area {background:linear-gradient(0deg,#f6f9ff,#fff)!important;border-color:#dce6ef!important;}
html body .report-bar {background:linear-gradient(180deg,#9378e8,#61b2e9 47%,#45bda7)!important;}
html body .report-bar-group small {color:#677a8c!important;}
html body .report-note {background:#f4f2ff!important;color:#61517a!important;border-color:#9b85e1!important;}
/* Tables, statuses, staff & account controls */
html body :is(.table-scroll,.fv-table-wrap,.dv-table,.fv-cust-table-scroll,.fv32-table-wrap,.fv28-table-wrap,.fv30-table-scroll) {
  max-width:100%;overflow-x:auto;border-radius:15px;-webkit-overflow-scrolling:touch;
}
html body table {border-collapse:separate;border-spacing:0;}
html body th,html body .fv-cust-table th {
  background:#f2f7fb!important;color:#50657a!important;
  border-color:#e4eaf2!important;font-size:.77rem;letter-spacing:.025em;
}
html body td,html body .fv-cust-table td {
  background:transparent!important;color:#334760!important;border-color:#e9eef4!important;
}
html body :is(.fv-table-wrap,.fv32-table-wrap) tbody tr:nth-child(even) {background:#f8fafd!important;}
html body tbody tr:hover {background:#edf6fb!important;}
html body :is(.fv-pagination a,.fv-pagination span) {background:#fff!important;border:1px solid #dce7ee!important;color:#36718a!important;}
html body .fv-pagination .current {background:#e1f4f5!important;border-color:#a6d6d8!important;color:#076d73!important;}
html body :is(.fv-chat-thread,.fv-inline-category-box,.fv-notice-top) {background:#f8fbff!important;border-color:#e1e8f1!important;}
html body .fv-chat-bubble.mine {background:#e8f8f4!important;border-color:#c1e9dc!important;}
html body .fv-chat-bubble small {color:#6a7c8e!important;}
html body .site-footer {background:#fff!important;color:#8794a5!important;border-top:1px solid #e3eaf2!important;}
/* Customer account */
html body.fv-customer-page {--fv-cust-ink:#172639;--fv-cust-muted:#65768b;--fv-cust-light:#f7fafc;--fv-cust-stroke:#e5eaf2;background:#f7f9fd!important;}
html body.fv-customer-page .fv-cust-hero {box-shadow:0 11px 37px rgba(22,46,75,.055)!important;}
html body.fv-customer-page :is(.fv-cust-shortcut,.fv-cust-stat,.fv-cust-orders) {background:#fff!important;color:#172639!important;border-color:#e2eaf1!important;}
html body.fv-customer-page .fv-cust-shortcut.is-featured {background:#eefaf8!important;border-color:#b9e4df!important;}
html body.fv-customer-page .fv-cust-shortcut.is-featured :is(strong,small,.fv-cust-shortcut-arrow) {color:#125d64!important;}
html body.fv-customer-page .fv-cust-hero h1 {color:#172639!important;}
html body.fv-customer-page .fv-cust-hero-sub {color:#647589!important;}
html body.fv-customer-page .fv-cust-brand {color:#172639!important;}
html body.fv-customer-page .fv-cust-shortcut:hover {background:#f5fbfd!important;}
html body.fv-customer-page :is(.fv-cust-primary,.fv-cust-secondary) {display:inline-flex;align-items:center;justify-content:center;}
/* Payment: style only, Razorpay integration stays untouched. */
html body .pay-panel {max-width:770px;margin:25px auto;padding:32px!important;}
html body .pay-rainbow {background:var(--fv75-rainbow)!important;border-radius:999px;height:5px;}
html body .pay-total {font-size:clamp(2rem,4vw,2.7rem)!important;}
html body .pay-note {color:#738398!important;}
/* Receipt screen preview: print styles stay original. */
html body.receipt-page {background:#edf3f9!important;color:#223348!important;}
html body.receipt-page .receipt-sheet {background:#fff!important;border:1px solid #dce5ed!important;border-radius:17px!important;box-shadow:0 18px 50px rgba(22,46,75,.12)!important;}
html body.receipt-page .receipt-toolbar {background:#fff!important;border-bottom:1px solid #dce5ed!important;color:#172639!important;}
html body.receipt-page .receipt-rainbow {background:var(--fv75-rainbow)!important;}
html body.receipt-page .receipt-header :is(h1,h2) {color:#1f3146!important;}
@media(max-width:920px) {
  html body :is(.customer-wrap,.page-wrap,.dashboard,.dv-page,.fv-cust-shell) {padding-left:16px!important;padding-right:16px!important;}
}
@media(max-width:640px) {
  html body :is(.customer-wrap,.page-wrap,.dashboard,.dv-page,.fv-cust-shell) {padding-left:13px!important;padding-right:13px!important;}
  html body .hero-home {border-radius:0 0 24px 24px!important;min-height:310px;padding:36px 20px 45px!important;}
  html body .hero-home::before {right:-65px;top:-60px;width:270px;opacity:.22;}
  html body .hero-home::after {display:none;}
  html body .hero-home :is(h1,h2) {font-size:clamp(2rem,8.3vw,2.9rem)!important;}
  html body :is(.menu-banner,.dv-hero,.report-welcome) {border-radius:19px!important;}
  html body .panel {padding:18px!important;border-radius:17px!important;}
  html body .food-card {border-radius:17px!important;}
  html body .food-content {padding:13px!important;}
  html body .report-kpis {grid-template-columns:minmax(0,1fr)!important;}
  html body .report-kpi {padding:17px!important;}
  html body .fv71-order-card {border-radius:16px!important;}
  html body .fv71-bottom-nav {border-radius:0!important;}
  html body .pay-panel {padding:23px 18px!important;}
  html body.receipt-page .receipt-sheet {border-radius:0!important;}
  html body .fv-cust-shortcuts {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:355px) {
  html body .fv-cust-shortcuts {grid-template-columns:minmax(0,1fr)!important;}
}
/* Neutralize highly specific legacy dark-mode rules when Step 75 is enabled.
   Important when the owner's saved Website Design mode is still Dark. */
html body table,html body table thead,html body table thead tr,
html body table tbody tr,html body :is(.fv28-orders-table,.fv30-table,.fv32-table) tbody tr {
  background:#fff!important;color:#31435a!important;border-color:#e5eaf2!important;
}
html body table tbody tr:nth-child(even),html body .fv-table-wrap table tbody tr:nth-child(even),
html body :is(.fv28-orders-table,.fv30-table,.fv32-table) tbody tr:nth-child(even) {
  background:#f8fafd!important;color:#31435a!important;
}
html body table tbody tr:hover,html body .fv-table-wrap table tbody tr:hover {
  background:#edf6fb!important;
}
html body table tbody td :is(strong,b),html body table tbody td span:not([class]) {color:#24384c!important;}
html body table tbody td :is(small,.muted,.tiny,.fv-history-eligibility) {color:#65768b!important;}
html body table tbody td a:not(.btn):not([class*="button"]) {color:#107992!important;}
html body table thead tr th,html body .fv-cust-table thead th,
html body :is(.fv28-orders-table,.fv30-table,.fv32-table) th {
  background:#f2f7fb!important;color:#50657a!important;border-color:#e4eaf2!important;
}
html body .dv-page .dv-nav,html body .dv-nav,html body .fv30-topbar,
html body .fv28-topbar,html body .staff-topbar,html body .delivery-topbar {
  background:#fff!important;background-image:none!important;color:#31435a!important;border-color:#e3eaf1!important;
}
html body :is(.dv-page .dv-nav,.dv-nav,.customer-top,.admin-top,.dash-top,.fv30-topbar) :is(strong,b,small) {
  color:#31435a!important;
}
html body :is(.dv-page .dv-nav,.dv-nav,.fv30-topbar,.customer-top,.admin-top,.dash-top,.staff-topbar,.delivery-topbar) a:not(.btn):not(.fv-notify-bell) {
  color:#0c7388!important;
}
html body :is(.dv-page .dv-nav,.dv-nav,.customer-top,.admin-top,.dash-top,.staff-topbar,.delivery-topbar) .fv-notify-sound,
html body .dv-nav .fv-notify-bell {
  background:#fff!important;color:#31435a!important;border:1px solid #d9e5ee!important;
}
html body :is(.panel,.auth-card,.fv30-card,.fv29-shell,.fv32-panel,.fv-design-section,.fv28-dashboard,.fv45-auth-card) :is(label,legend) {
  color:#31435a!important;
}
html body :is(.panel,.auth-card,.fv30-card,.fv29-shell,.fv32-panel,.fv-design-section,.fv28-dashboard,.fv45-auth-card)
  :is(.muted,.tiny,.small,.help-text,.fv30-muted,.fv28-muted) {color:#65768b!important;}
html body .dv-auth :is(.dv-label,h1,h2,h3) {color:#24374a!important;}
html body .dv-auth :is(p,.dv-muted),html body .dv-auth .dv-hero p {color:#65768b!important;}
html body .dv-auth :is(input.dv-input,input[type="email"],input[type="password"]) {
  background:#fff!important;color:#223348!important;border:1px solid #cdd8e4!important;caret-color:#0c929a!important;
}
html body .dv-auth input.dv-input:-webkit-autofill {
  -webkit-text-fill-color:#223348!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;
}
html body .dv-auth a {color:#0c7388!important;}
html body .dv-auth .dv-error {background:#fff0f2!important;color:#a42a40!important;border-color:#f2c5cd!important;}
html body :is(.fv29-food,.fv29-shell .panel,.fv30-topbar,.fv30-card,.fv32-panel,.fv28-orders-table,.fv29-cod,.fv30-info,.fv-chat-thread,.fv-chat-bubble,.fv29-count,.fv-history-help,.fv-history-count,.fv-history-notice,.fv28-info,.fv29-info) {
  background:#fff!important;color:#31435a!important;border-color:#e5eaf2!important;
}
html body :is(.fv29-shell,.fv30-layout,.fv32-page,.fv29-food h3,.fv29-side h2,.fv30-card h2,.fv32-form label,.fv30-details,.fv30-brand small,.fv29-line,.fv29-total,.fv30-summary) {
  color:#31435a!important;
}
html body :is(.fv29-help,.fv29-customer label,.fv29-menu label,.fv30-muted,.fv30-details p,.fv30-events li small,.fv30-nav a,.fv32-reset summary) {
  color:#65768b!important;
}
html body :is(.fv29-step,.fv30-outline,.fv29-count) {
  background:#f2f7fb!important;color:#31435a!important;border-color:#e5eaf2!important;
}
html body.fv-inbox-page {
  --fv-inbox-ink:#172639;--fv-inbox-muted:#65768b;--fv-inbox-soft:#f2f7fb;--fv-inbox-stroke:#e5eaf2;
}
html body.fv-inbox-page :is(.fv-inbox-summary-card,.fv-inbox-item,.fv-inbox-empty,.fv-inbox-filter-empty,.fv-inbox-hero-icon) {
  background:#fff!important;color:#24374a!important;border-color:#e5eaf2!important;
}
html body.fv-inbox-page :is(.fv-inbox-hero-meta,.fv-inbox-item-meta,.fv-inbox-summary-label,.fv-inbox-filter,.fv-inbox-item p) {
  color:#65768b!important;
}
html body :is(a,button).fv-control,html body :is(a,button).btn-outline,
html body :is(a,button).dv-btn.secondary,html body :is(a,button).fv30-outline {
  background:#fff!important;color:#315369!important;border-color:#cfdae8!important;background-image:none!important;
}
html body :is(a,button).fv-control:hover,html body :is(a,button).btn-outline:hover,
html body :is(a,button).dv-btn.secondary:hover {
  background:#edf7fb!important;color:#0e6973!important;
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
}
@media screen {html body:not(.fv-admin-page):not(.receipt-page){background-image:linear-gradient(rgba(247,249,253,.87),rgba(247,249,253,.87)),url("/uploads/backgrounds/e31a9ac7862bfa92ce6f61e81b052da3.webp")!important;background-position:center!important;background-size:cover!important;background-attachment:fixed!important;}}


@media screen {
html body, html body[class], html body[class][class] {background-image:linear-gradient(rgba(247,249,253,0.20),rgba(247,249,253,0.20)),url("/uploads/backgrounds/e31a9ac7862bfa92ce6f61e81b052da3.webp")!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;background-attachment:fixed!important;}
html body :is(.admin-shell,.dashboard,.dv-page,.fv-inbox-shell) {background-color:transparent!important;background-image:none!important;}
@media (max-width:800px){html body, html body[class], html body[class][class]{background-attachment:scroll!important;}}
}



/* FOOD VIBE Step 79 — colour choices saved in Admin > Website Design Studio.
   Screen-only and receipt-safe. Leave warnings, danger text and Google sign-in untouched. */
@media screen {
html body:not(.receipt-page) { --fv79-body:#223448;--fv79-heading:#172639;--fv79-muted:#52667a;--fv79-nav:#31465c;--fv79-brand:#203148;--fv79-link:#0b7080;--fv79-accent:#0b7080;--fv79-label:#294054;--fv79-field:#233549;--fv79-table:#24394d;--fv79-table_head:#24394d;--fv79-button:#ffffff;--fv79-metric:#172639;--fv79-footer:#47596c; color:var(--fv79-body)!important; }/* Plain text and card content */
html body:not(.receipt-page) :is(.panel,.auth-card,.food-card,.fv71-order-card,.fv-cust-shortcut,.fv-cust-stat,.report-kpi,.dv-card,.fv-inbox-item,.fv-design-section):not(.fv-design-preview *) { color:var(--fv79-body)!important; }
html body:not(.receipt-page) :is(p,li,blockquote,.food-content,.bill-row,.cart-item-details,.fv-cust-shortcut-copy,.fv71-card-body,.fv71-order-detail):not(.fv-design-preview *):not(.fv52-typography-preview *):not(.notice):not(.notice-good):not(.notice-bad):not(.receipt-warning):not(.fv-delete-form *) { color:var(--fv79-body)!important; }
/* Headlines, menu dishes and panel names */
html body:not(.receipt-page) :is(h1,h2,h3,h4,h5,h6,.food-content h2,.food-content h3,.fv-cust-shortcut-copy strong,.fv-inbox-item h3,.fv71-order-card h3):not(.fv-design-preview *):not(.fv52-typography-preview *):not(.fv-delete-form *) { color:var(--fv79-heading)!important; }
/* Context and secondary copy. Also covers numeric statistic labels. */
html body:not(.receipt-page) :is(.muted,.tiny,.small,.next-feature,.dv-muted,.fv-cust-section-description,.fv-cust-hero-sub,.fv-inbox-footnote,.fv-inbox-item-meta,.food-content p,.fv71-card-date,.fv71-card-meta,.fv71-status-hint,.report-kpi span,.report-kpi small,.stats span,.fv-cust-stat span,.fv-cust-shortcut-copy small,.fv-design-heading p,.pay-note):not(.fv-design-preview *):not(.fv52-typography-preview *):not(.fv-delete-form *) { color:var(--fv79-muted)!important; }
/* Menu links / tabs, including mobile shortcuts. */
html body:not(.receipt-page) :is(.customer-nav nav a,.admin-nav a,.fv-admin-quick a,.fv-admin-links-group a,.fv-admin-submenu a,.fv-admin-menu summary,.fv-cust-headlink,.fv71-bottom-nav a,.fv-mobile-shortcuts a,.dv-nav a,.fv30-nav a,.fv-inbox-back,.fv-inbox-refresh):not(.btn) { color:var(--fv79-nav)!important; }
html body:not(.receipt-page) :is(a.brand,a.logo,a.fv-cust-brand,a.fv-inbox-brand) { color:var(--fv79-brand)!important; }
html body:not(.receipt-page) :is(a.brand,a.logo,a.fv-cust-brand,a.fv-inbox-brand) :is(span,small) { color:var(--fv79-brand)!important; }
/* General links / highlight labels */
html body:not(.receipt-page) :is(a:not(.btn):not(.brand):not(.logo):not(.link-btn):not(.fv56-order-btn):not(.fv71-track-btn):not(.fv-cust-primary):not(nav a):not(header a):not(.fv-cust-headlink):not(.fv-inbox-back):not(.fv-inbox-refresh),.small-link,.back-link,.fv-mini a,.fv-cust-seeall,.fv-cust-refresh):not(.fv-design-preview *):not(.fv-delete-form *) { color:var(--fv79-link)!important; }
html body:not(.receipt-page) :is(.eyebrow,.hero-kicker,.fv-cust-kicker,.fv-cust-eyebrow,.food-category,.fv-design-section .eyebrow):not(.fv-design-preview *) { color:var(--fv79-accent)!important; }
/* Forms */
html body:not(.receipt-page) :is(label,legend,.form-field label,.filter-form label,.fv32-form label,.dv-label,.fv-design-section label):not(.fv-design-preview *):not(.fv-delete-form *) { color:var(--fv79-label)!important; }
html body:not(.receipt-page) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not([type=range]),select,textarea,.dv-input):not(.fv-design-preview *) { color:var(--fv79-field)!important; }
/* Tables and order histories */
html body:not(.receipt-page) :is(table tbody td,.fv-cust-table tbody td,.fv32-table tbody td,.fv30-table tbody td,.fv28-orders-table tbody td):not(.fv-design-preview *) { color:var(--fv79-table)!important; }
html body:not(.receipt-page) :is(table thead th,.fv-cust-table thead th,.fv32-table thead th,.fv30-table thead th,.fv28-orders-table thead th):not(.fv-design-preview *) { color:var(--fv79-table_head)!important; }
/* Main action text; do not override delete/cancel/danger/warning state colours. */
html body:not(.receipt-page) :is(.btn:not(.btn-outline):not(.btn-danger):not(.btn-dark),button.btn:not(.btn-outline):not(.btn-danger):not(.btn-dark),.link-btn,.dv-btn:not(.secondary),.fv56-order-btn,.fv56-detail-add,.fv-action,.pay-btn,.fv-cust-primary,.fv71-sticky-submit,.fv71-track-btn):not(.fv-delete-confirm):not(.fv-design-preview *) { color:var(--fv79-button)!important; }
/* Numbers / summaries */
html body:not(.receipt-page) :is(.stats strong,.report-kpi strong,.fv-cust-stat strong,.fv-cust-amount,.report-kpi .value,.food-bottom strong,.bill-row.total strong,.pay-total):not(.fv-design-preview *) { color:var(--fv79-metric)!important; }
html body:not(.receipt-page) :is(.site-footer,.site-footer p,.fv-cust-footer,.fv-inbox-footer):not(.fv-design-preview *) { color:var(--fv79-footer)!important; }
/* The design editor's swatches and live preview are intentionally not recoloured by site palettes. */
}