/* Phase 18 - mobile stability, action feedback, auth polish, performance helpers */
:root{--ff-primary:#16a34a;--ff-primary-dark:#15803d;--ff-accent:#f97316;--ff-bg:#f8fafc;--ff-text:#172033;--ff-card:#ffffff;--ff-border:#e5e7eb;--ff-shadow:0 18px 45px rgba(15,23,42,.12)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100%;overflow-x:hidden}img{max-width:100%;height:auto}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.btn,button,[type=submit],a{touch-action:manipulation}.ff-toast{position:fixed;right:18px;bottom:18px;z-index:99999;background:#172033;color:#fff;border-radius:16px;padding:13px 16px;box-shadow:var(--ff-shadow);font-weight:800;max-width:420px}.ff-toast.success{background:#15803d}.ff-toast.error{background:#b91c1c}.ff-loading button[type=submit],.ff-loading .btn[type=submit]{opacity:.75;pointer-events:none}.ff-submit-spinner::after{content:' ';display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:ffspin .75s linear infinite}@keyframes ffspin{to{transform:rotate(360deg)}}
/* Customer header/mobile nav */
.customer-header,.site-header{position:sticky!important;top:0;z-index:5000;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.9)}.customer-menu-btn,.menu-btn{display:none}.customer-nav.open,header nav.open{display:flex!important}.customer-nav a[href*="logout"],.site-header nav a[href*="logout"],.header-logout-link{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important;font-weight:900!important}.customer-nav a[href*="customer-login"],.site-header nav a[href*="customer-login"]{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important;font-weight:900!important}
@media(max-width:900px){body{padding-bottom:76px}.customer-menu-btn,.menu-btn{display:inline-flex!important;align-items:center;justify-content:center;border:0;border-radius:14px;padding:10px 13px;font-size:22px;font-weight:900;background:#fff7ed;color:#ea580c;box-shadow:0 8px 18px rgba(15,23,42,.08)}.site-header,.customer-header{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important}.site-header .logo,.customer-logo{min-width:0;max-width:calc(100% - 60px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header nav,.customer-nav{display:none!important;position:fixed!important;top:64px!important;left:10px!important;right:10px!important;max-height:calc(100vh - 84px);overflow:auto;flex-direction:column!important;align-items:stretch!important;gap:7px!important;padding:10px!important;border-radius:22px!important;background:#fff!important;box-shadow:0 24px 58px rgba(15,23,42,.22)!important;border:1px solid #ffedd5!important;z-index:6000!important}.site-header nav a,.customer-nav a{display:flex!important;width:100%!important;justify-content:space-between!important;padding:13px 14px!important;border-radius:16px!important;background:#fff!important;color:#172033!important;border:1px solid #f1f5f9!important;text-decoration:none!important}.cart-pill{background:#172033!important;color:#fff!important}.mobile-bottom{display:flex!important}.table-card,.customer-card,.form-card{overflow-x:auto}.table-card table{min-width:720px}.actions,.admin-inline-form{flex-wrap:wrap}.auth-header .customer-nav{top:64px!important}.auth-header .customer-menu-btn{margin-left:auto}}
/* Admin mobile stability */
.admin-topbar{position:sticky!important;top:0;z-index:2500;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-logout-link{display:inline-flex!important;align-items:center;justify-content:center;margin-top:4px;padding:6px 10px;border-radius:999px;text-decoration:none}.admin-content{min-width:0}.table-card{border-radius:22px}.admin-sidebar{will-change:transform}.admin-overlay{z-index:2990!important}.admin-sidebar{z-index:3000!important}.mobile-menu-btn{min-width:46px;min-height:42px}.top-actions{display:flex;align-items:center;gap:10px}.owner-chip{min-width:0}.owner-text{min-width:0}.owner-text strong,.owner-text span{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.admin-main-wrap{width:100%!important;margin-left:0!important}.admin-topbar{min-height:62px;padding:8px 10px!important}.top-actions{gap:6px}.owner-chip{padding:6px!important}.owner-avatar{width:34px!important;height:34px!important}.owner-text strong{max-width:110px}.owner-text span{display:none}.header-logout-link{font-size:12px!important;margin:0!important}.admin-content{padding:14px 10px 92px!important}.page-hero{display:block!important;padding:16px!important;border-radius:22px!important}.page-hero .actions{margin-top:10px}.admin-nav .nav-link{min-height:44px}.admin-sidebar{position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:86vw!important;max-width:330px!important;transform:translateX(-105%);transition:transform .24s ease;overflow:auto}.mobile-sidebar-open .admin-sidebar{transform:translateX(0)!important}.mobile-sidebar-open .admin-overlay{display:block!important;position:fixed;inset:0;background:rgba(15,23,42,.45)}.stats-grid,.dispatch-grid,.report-grid,.config-grid{grid-template-columns:1fr!important}.form-card label{display:block}.form-card input,.form-card select,.form-card textarea{width:100%}}
/* Glass auth restoration */
.auth-page{background:radial-gradient(circle at 12% 18%,rgba(34,197,94,.35),transparent 28%),radial-gradient(circle at 88% 0%,rgba(249,115,22,.22),transparent 30%),linear-gradient(135deg,#052e16,#064e3b 42%,#0f172a)!important;color:#fff}.auth-glass{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 28px 90px rgba(0,0,0,.35)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;overflow:hidden}.auth-panel{background:rgba(255,255,255,.88)!important;color:#172033!important;backdrop-filter:blur(18px)!important}.auth-slide{transform:translateX(28px);opacity:0;transition:transform .28s ease,opacity .28s ease;display:none}.auth-slide.active{display:block;transform:translateX(0);opacity:1}.auth-slide.ff-exit-left{transform:translateX(-28px);opacity:0}.auth-slide.ff-enter-right{animation:ffEnterRight .28s ease}.auth-slide.ff-enter-left{animation:ffEnterLeft .28s ease}@keyframes ffEnterRight{from{transform:translateX(34px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes ffEnterLeft{from{transform:translateX(-34px);opacity:0}to{transform:translateX(0);opacity:1}}.foodfast-green-ball,.auth-ball{will-change:transform;transform:translateZ(0);pointer-events:none}.input-wrap input{color:#172033!important}.auth-submit{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important}
@media(max-width:760px){.auth-shell{padding:16px 10px 90px!important}.auth-glass{display:block!important;border-radius:28px!important}.auth-art{padding:22px!important;min-height:auto!important}.auth-panel{border-radius:24px!important;margin:10px!important;padding:18px!important}.auth-art h1{font-size:28px!important}.auth-benefits{grid-template-columns:1fr!important}.auth-food-card{position:relative!important;right:auto!important;bottom:auto!important;margin-top:14px}.auth-tabs button{min-height:44px}.foodfast-green-ball{opacity:.55!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
