/* FoodCourt refinement layer — presentation only, loaded last. */
:root{
  --fc-green:#07883f;--fc-green-dark:#05652f;--fc-green-deep:#033d22;--fc-green-soft:#eaf7ef;
  --fc-orange:#ff6b00;--fc-orange-soft:#fff1e7;--fc-bg:#f7f9f8;--fc-surface:#fff;
  --fc-text:#171717;--fc-muted:#667085;--fc-line:#e3e9e5;--fc-line-strong:#cbd8d0;
  --fc-r-sm:10px;--fc-r-md:14px;--fc-r-lg:18px;--fc-r-xl:24px;
  --fc-shadow-xs:0 2px 8px rgba(3,61,34,.04);--fc-shadow-sm:0 5px 18px rgba(3,61,34,.07);
  --fc-shadow-md:0 14px 34px rgba(3,61,34,.11);--fc-ring:0 0 0 4px rgba(7,136,63,.12);
  --fc-fast:180ms ease;--fc-normal:220ms ease;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}h1,h2,h3,h4,.h-lg,.h-md{font-family:"Plus Jakarta Sans",Inter,sans-serif;line-height:1.16;letter-spacing:-.025em;text-wrap:balance}p{line-height:1.62}button,input,select,textarea{font:inherit}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/* Unified interaction language */
:where(.btn,.icon-btn,.chip,.select-card,.modern-category,.rcard,.pcard,.mitem,.plist-item,.profile-option,.offer-card,.partner-metric,.partner-product,.partner-feature-card,.notif-item,.order-card,.coupon-card,.mission-card,.support-ticket,.store-switch,.qty-btn){transition:transform var(--fc-fast),box-shadow var(--fc-normal),border-color var(--fc-fast),background-color var(--fc-fast),color var(--fc-fast),opacity var(--fc-fast)}
:where(.btn,.chip,.select-card,.modern-category,.rcard,.pcard,.mitem,.plist-item,.profile-option,.offer-card,.partner-product,.partner-feature-card,.notif-item,.order-card,.coupon-card,.mission-card,.support-ticket):active{transform:translateY(-1px) scale(.98)!important}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(7,136,63,.25)!important;outline-offset:3px!important}
:where(button,.btn,a)[disabled],:where(button,.btn,a)[aria-disabled=true]{cursor:not-allowed!important;opacity:.5!important;box-shadow:none!important;transform:none!important}
@media(hover:hover){:where(.rcard,.pcard,.mitem,.plist-item,.profile-option,.offer-card,.partner-product,.partner-feature-card,.notif-item,.order-card,.coupon-card,.mission-card,.support-ticket):hover{transform:translateY(-4px);border-color:rgba(7,136,63,.32)!important;box-shadow:var(--fc-shadow-md)!important}:where(.btn):hover{transform:translateY(-2px)}:where(a:not(.btn)):hover{color:var(--fc-green)}}

/* Buttons, fields, chips */
.btn{min-height:46px;padding:0 18px;border-radius:12px;font-size:.82rem;font-weight:750;letter-spacing:.005em}.btn-primary{background:var(--fc-green)!important;color:#fff!important;box-shadow:0 8px 20px rgba(7,136,63,.2)}.btn-primary:hover{background:var(--fc-green-dark)!important;box-shadow:0 12px 26px rgba(7,136,63,.24)}.btn-ghost,.btn-outline{border:1px solid var(--fc-line-strong)!important;background:transparent!important;color:var(--fc-text)!important}.btn-ghost:hover,.btn-outline:hover{border-color:var(--fc-green)!important;background:var(--fc-green-soft)!important;color:var(--fc-green-dark)!important}.btn-danger{background:#c9362e!important;color:#fff!important}.btn-lg{min-height:50px}.icon-btn,.qty-btn,.fav-btn,.add-btn{min-width:44px;min-height:44px}.chip{min-height:42px;padding:0 15px;border-radius:12px!important}.chip.active{border-color:var(--fc-green)!important;background:var(--fc-green)!important;color:#fff!important;box-shadow:0 7px 16px rgba(7,136,63,.18)}
:where(.input,.textarea,.coupon-input,input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:48px;border-radius:12px!important;border-color:var(--fc-line)!important;background:var(--fc-surface);transition:border-color var(--fc-fast),box-shadow var(--fc-fast),background-color var(--fc-fast)}:where(.input,.textarea,.coupon-input,input:not([type=checkbox]):not([type=radio]),select,textarea):hover{border-color:var(--fc-line-strong)!important}:where(.input,.textarea,.coupon-input,input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--fc-green)!important;box-shadow:var(--fc-ring)!important;outline:0}.search-trigger,.searchbar-lg{min-height:50px!important;border-radius:14px!important}

/* Header and navigation */
body.app-mode .header{height:72px!important;background:rgba(255,255,255,.92)!important;border-bottom:1px solid rgba(227,233,229,.9)!important;box-shadow:0 2px 16px rgba(3,61,34,.035)!important;backdrop-filter:blur(18px) saturate(1.3)}body.app-mode .header-inner{height:72px!important;gap:20px!important}.desktop-links{gap:26px!important}.desktop-links a{position:relative;min-height:52px;display:flex;align-items:center;padding:0!important;border:0!important;color:#47524c;font-size:.77rem;font-weight:650}.desktop-links a:after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;border-radius:99px;background:var(--fc-green);transition:left var(--fc-fast),right var(--fc-fast)}.desktop-links a:hover,.desktop-links a.active{color:var(--fc-green)!important;transform:translateY(-1px)}.desktop-links a:hover:after,.desktop-links a.active:after{left:0;right:0}.header .logo-mark{box-shadow:0 7px 16px rgba(7,136,63,.18)!important}.header-actions{gap:9px!important}.header-actions .icon-btn:hover{transform:translateY(-2px);border-color:#9bd0b1!important}.badge-dot{box-shadow:0 0 0 3px #fff}

/* Pages, hierarchy and sections */
body.app-mode .main{width:100%;max-width:1440px;padding-top:40px!important}.page{width:100%}.page>.h-lg,.page>h1{font-size:clamp(2rem,3.1vw,2.5rem)!important}.consumer-section-head,.section-head{gap:24px}.consumer-section-head h2,.section-head h2{font-size:clamp(1.35rem,2vw,1.7rem)!important}.consumer-section-head p,.section-head .sub{margin-top:6px!important;font-size:.9rem!important;color:var(--fc-muted)!important}.consumer-section-head>a{min-height:44px;display:flex;align-items:center;padding:0 4px}.consumer-section-head>a svg{transition:transform var(--fc-fast)}.consumer-section-head>a:hover svg{transform:translateX(3px)}

/* Cards and discovery */
body.app-mode :where(.card,.rcard,.pcard,.mitem,.profile-option,.partner-panel,.partner-metric,.partner-product,.partner-feature-card,.mission-card,.support-ticket){border:1px solid var(--fc-line);border-radius:var(--fc-r-lg);box-shadow:var(--fc-shadow-xs)}body.app-mode .rcard,body.app-mode .pcard{overflow:hidden}.rcard-cover,.pcard-img,.mitem-thumb{transition:transform 380ms ease,filter 240ms ease}.rcard:hover .rcard-cover,.pcard:hover .pcard-img,.mitem:hover .mitem-thumb{transform:scale(1.035)}.rcard-title,.pcard-name,.mitem-name{line-height:1.3}.pcard-desc,.mitem-desc{line-height:1.55}.pcard-price .now,.mitem-price .now{font-size:1.04rem;font-weight:800}.fav-btn:hover{transform:scale(1.08)}.fav-btn:active{transform:scale(.9)!important}.fav-btn.on{animation:fcHeart 320ms ease}.add-btn:hover{transform:translateY(-2px) scale(1.06)!important;box-shadow:0 9px 20px rgba(7,136,63,.24)}
.modern-categories{gap:14px!important;padding:6px 3px 18px!important;scroll-snap-type:x mandatory}.modern-category{scroll-snap-align:start;min-width:106px!important}.modern-category i{width:78px!important;height:78px!important;border-radius:20px!important;box-shadow:var(--fc-shadow-xs)}.modern-category:hover i{transform:translateY(-4px)!important}.modern-category:active i{transform:translateY(-1px) scale(.97)!important}.modern-category.active i{border-color:var(--fc-green)!important;background:var(--fc-green)!important;color:#fff!important;box-shadow:0 11px 24px rgba(7,136,63,.22)!important}.modern-category.active svg{color:#fff!important}.modern-category.active span{color:var(--fc-green-dark)!important;font-weight:800}.offer-card{padding:24px!important}.offer-card.tone-orange{box-shadow:inset 3px 0 var(--fc-orange)}

/* Drawers, modal, cart, checkout */
.overlay{background:rgba(3,20,12,.42)!important;backdrop-filter:blur(6px)!important}.drawer{box-shadow:-20px 0 50px rgba(3,28,16,.14)}.drawer-head{min-height:72px;padding:18px 22px!important}.drawer-body{padding:22px!important}.drawer-foot{padding:18px 22px calc(18px + env(safe-area-inset-bottom))!important}.drawer-right{border-radius:24px 0 0 24px!important}.cart-store-group{border-radius:18px}.cart-item{padding-block:16px!important}.qty-stepper{border-radius:12px!important}.totals{gap:11px!important;border-radius:18px!important}.totals-row.total{padding-top:14px!important;font-size:1.08rem!important}.select-card{min-height:80px;border-radius:17px!important;padding:17px!important;box-shadow:var(--fc-shadow-xs)}.select-card:hover{border-color:#8ecba7!important}.select-card.selected{border-color:var(--fc-green)!important;background:linear-gradient(135deg,var(--fc-green-soft),#fff)!important;box-shadow:0 8px 22px rgba(7,136,63,.09)!important}.checkout-nav{position:sticky;z-index:20;bottom:12px;padding:12px;border:1px solid rgba(203,216,208,.85)!important;border-radius:17px;background:rgba(247,249,248,.9)!important;box-shadow:0 14px 34px rgba(3,61,34,.1);backdrop-filter:blur(16px)}.steps{gap:8px!important}.step span{font-size:.72rem}.step-track{height:4px!important}.partner-modal{backdrop-filter:blur(6px)}.partner-product-form{animation:fcModalIn 210ms ease both}

/* Profile, orders and states */
.profile-menu-card .plist{gap:14px!important}.profile-menu-card .plist-item{padding:18px!important}.profile-option{min-height:84px}.order-card,.notif-item,.support-ticket{padding:20px!important}.tracking-status{padding:30px!important}.timeline{padding-block:4px}.tl-item{min-height:74px}.tl-dot{transition:background-color var(--fc-normal),border-color var(--fc-normal),transform var(--fc-normal)}.tl-item.current .tl-dot{transform:scale(1.08)}.state-box,.empty-modern,.route-error{border-radius:22px}.toast{min-height:58px;border-radius:14px!important;box-shadow:0 16px 38px rgba(3,31,17,.16)!important;animation:fcToastIn 240ms ease both!important}

/* Partner/admin: same system, denser rhythm */
.partner-shell{gap:30px!important}.partner-sidebar{border-radius:22px!important;box-shadow:var(--fc-shadow-sm)!important}.partner-sidebar nav a{min-height:46px!important;border-radius:12px!important;transition:transform var(--fc-fast),background-color var(--fc-fast),color var(--fc-fast)}.partner-sidebar nav a:hover{transform:translateX(3px)}.partner-sidebar nav a.active{box-shadow:0 8px 20px rgba(7,136,63,.2)!important}.partner-metrics{gap:16px!important}.partner-metric{min-height:156px!important;padding:21px!important}.partner-metric:hover{transform:translateY(-4px)!important}.partner-panel{padding:21px!important}.partner-order,.stock-row,.team-row,.ticket-row,.admin-row,.audit-row{padding-block:15px!important}.partner-product-grid,.partner-cards{gap:17px!important}

/* Dark layers */
html[data-theme=dark]{--fc-bg:#0d1210;--fc-surface:#151b18;--fc-text:#f3f6f4;--fc-muted:#a5b0aa;--fc-line:#29332e;--fc-line-strong:#3a4841;--fc-shadow-xs:0 2px 8px rgba(0,0,0,.2);--fc-shadow-sm:0 7px 20px rgba(0,0,0,.28);--fc-shadow-md:0 16px 38px rgba(0,0,0,.38),0 0 0 1px rgba(7,136,63,.08)}html[data-theme=dark] body.app-mode{background:#0d1210!important;color:#f3f6f4!important}html[data-theme=dark] body.app-mode .header{background:rgba(21,27,24,.92)!important;border-color:#29332e!important}html[data-theme=dark] body.app-mode :where(.card,.rcard,.pcard,.mitem,.select-card,.profile-option,.partner-sidebar,.partner-panel,.partner-metric,.partner-product,.partner-feature-card,.drawer){background:#151b18!important;border-color:#29332e!important}html[data-theme=dark] .select-card.selected{background:linear-gradient(135deg,rgba(7,136,63,.2),#151b18)!important}html[data-theme=dark] :where(.input,.textarea,.coupon-input,input:not([type=checkbox]):not([type=radio]),select,textarea){background:#1b231f!important;color:#f3f6f4!important;border-color:#29332e!important}html[data-theme=dark] .checkout-nav{background:rgba(21,27,24,.9)!important;border-color:#29332e!important}html[data-theme=dark] .btn-ghost,html[data-theme=dark] .btn-outline{color:#f3f6f4!important}html[data-theme=dark] .desktop-links a{color:#b6c0ba}html[data-theme=dark] .drawer-foot{background:#151b18!important}

/* Responsive audit breakpoints */
@media(max-width:1280px){body.app-mode .header-inner{padding-inline:24px!important}.desktop-links{gap:18px!important}body.app-mode .main{padding-inline:24px!important}.partner-shell{gap:20px!important}}
@media(max-width:1024px){.desktop-links{gap:12px!important}.desktop-links a{font-size:.7rem}.offer-strip{grid-template-columns:repeat(3,minmax(280px,1fr))}.partner-sidebar nav a:hover{transform:translateY(-2px)}}
@media(max-width:768px){body.app-mode .main{padding:28px 18px 110px!important}.consumer-section-head{margin-block:38px 17px!important}.consumer-section-head{align-items:flex-start}.restaurant-row,.product-row,.offer-strip{margin-inline:-18px;padding-inline:18px!important;scroll-padding-left:18px}.nearby-list{grid-template-columns:1fr!important}.profile-menu-card .plist{grid-template-columns:1fr!important}.checkout-nav{bottom:76px}.drawer-right{border-radius:0!important}.partner-shell{gap:14px!important}}
@media(max-width:430px){body{font-size:15px}body.app-mode .main{padding-inline:14px!important}.page>.h-lg,.page>h1{font-size:1.85rem!important}.consumer-section-head{gap:12px}.consumer-section-head h2,.section-head h2{font-size:1.3rem!important}.consumer-section-head p{font-size:.8rem!important}.modern-category{min-width:92px!important}.modern-category i{width:70px!important;height:70px!important}.restaurant-row,.product-row,.offer-strip{margin-inline:-14px;padding-inline:14px!important;scroll-padding-left:14px}.rcard{width:82vw!important}.pcard{width:70vw!important}.checkout-nav{flex-direction:column-reverse}.checkout-nav .btn{width:100%}.drawer-head,.drawer-body,.drawer-foot{padding-inline:16px!important}.route-error>div{flex-direction:column;width:100%}.route-error .btn{width:100%}.partner-metrics{grid-template-columns:1fr!important}}
@media(max-width:390px){.header-actions{gap:5px!important}.header-actions .icon-btn,.header-actions .avatar-btn{width:42px!important;height:42px!important}.payment-heading p{font-size:.74rem}.select-card{padding:14px!important}.sc-emoji{width:46px!important;height:46px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:where(*,::before,::after){animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@keyframes fcHeart{0%,100%{transform:scale(1)}45%{transform:scale(1.22)}}@keyframes fcModalIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes fcToastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
