:root{--primary: #e5484d;--primary-dark: #c9363c;--primary-darker: #a92a30;--primary-light: #fdecec;--primary-contrast: #ffffff;--primary-gradient: linear-gradient(135deg, #ef6266 0%, #e5484d 55%, #c9363c 100%);--accent: #f4a340;--accent-dark: #d6851f;--accent-light: #fef3e2;--accent-contrast: #2e1c02;--success: #2e9d63;--success-bg: #e6f6ee;--danger: #d1453d;--danger-bg: #fbeae9;--warning: #c9821f;--warning-bg: #fef3e2;--bg: #f7f8fa;--surface: #ffffff;--surface-muted: #eef1f5;--surface-hover: #e4e8ee;--border: #e2e6ec;--border-strong: #cad0da;--text: #4b5468;--text-muted: #8891a3;--heading: #17213a;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(23, 33, 58, .06), 0 1px 1px rgba(23, 33, 58, .04);--shadow-md: 0 10px 28px -6px rgba(23, 33, 58, .14), 0 4px 10px -4px rgba(23, 33, 58, .07);--shadow-lg: 0 24px 56px -12px rgba(23, 33, 58, .22), 0 8px 20px -6px rgba(23, 33, 58, .12);--shadow-primary: 0 8px 20px -6px rgba(229, 72, 77, .4);--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration: .2s;--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .7);--glass-highlight: rgba(255, 255, 255, .6);--glass-shadow: 0 8px 32px -8px rgba(23, 33, 58, .2), 0 2px 8px rgba(23, 33, 58, .07);--sans: "Inter", "Segoe UI", system-ui, Roboto, sans-serif;--heading-font: "Fraunces", "Iowan Old Style", Georgia, serif;--display-font: "Fraunces", "Iowan Old Style", Georgia, serif;--mono: "Inter", ui-monospace, Consolas, monospace;--tap: 44px;font:16px/1.55 var(--sans);color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--primary: #f16a6e;--primary-dark: #e5484d;--primary-darker: #c9363c;--primary-light: rgba(241, 106, 110, .16);--primary-contrast: #1a0f0f;--primary-gradient: linear-gradient(135deg, #f58184 0%, #f16a6e 55%, #e5484d 100%);--accent: #f7b768;--accent-dark: #f4a340;--accent-light: rgba(247, 183, 104, .14);--accent-contrast: #2e1c02;--success: #5cb885;--success-bg: rgba(92, 184, 133, .14);--danger: #ea6b64;--danger-bg: rgba(234, 107, 100, .14);--warning: #f7b768;--warning-bg: rgba(247, 183, 104, .14);--bg: #101a30;--surface: #17213a;--surface-muted: #1e2a47;--surface-hover: #263252;--border: #2b385a;--border-strong: #3a4a71;--text: #b7c0d4;--text-muted: #7c869e;--heading: #f2f4f8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 10px 28px -6px rgba(0, 0, 0, .4), 0 4px 10px -4px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 56px -12px rgba(0, 0, 0, .55), 0 8px 20px -6px rgba(0, 0, 0, .4);--shadow-primary: 0 8px 24px -6px rgba(241, 106, 110, .3);--glass-bg: rgba(23, 33, 58, .55);--glass-bg-strong: rgba(23, 33, 58, .8);--glass-border: rgba(255, 255, 255, .08);--glass-highlight: rgba(255, 255, 255, .06);--glass-shadow: 0 8px 32px -8px rgba(0, 0, 0, .55), 0 2px 8px rgba(0, 0, 0, .3)}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh;display:flex;flex-direction:column}::selection{background:var(--primary);color:var(--primary-contrast)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:3px solid var(--bg);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes grow-bar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes live-pulse{0%{box-shadow:0 0 #1e8e5a80}70%{box-shadow:0 0 0 6px #1e8e5a00}to{box-shadow:0 0 #1e8e5a00}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}h1,h2,h3{font-family:var(--heading-font);font-weight:600;font-optical-sizing:auto;color:var(--heading);margin:0;text-wrap:balance}h1{font-size:30px;letter-spacing:-.1px}h2{font-size:21px;letter-spacing:-.1px}h3{font-size:16.5px;letter-spacing:0}p{margin:0}a{color:var(--primary);text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--primary-dark);text-decoration:underline}code{font-family:var(--mono);font-size:14px;padding:2px 6px;border-radius:4px;background:var(--surface-muted);color:var(--heading)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:14.5px;padding:11px 20px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color var(--duration) var(--ease),border-color var(--duration) var(--ease),transform .12s var(--ease-out),box-shadow var(--duration) var(--ease),color var(--duration) var(--ease);white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-light)}.btn-primary{background:var(--primary-gradient);color:var(--primary-contrast);box-shadow:var(--shadow-primary),inset 0 1px #ffffff4d,inset 0 -2px 4px #0000001f}.btn-primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 12px 28px -6px #e4572e8c,inset 0 1px #ffffff59,inset 0 -2px 4px #0000001f;transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:inset 0 2px 6px #00000038}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--heading);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--primary);transform:translateY(-1px)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff;transform:translateY(-1px)}.btn-icon{padding:9px}.input-group{display:flex;flex-direction:column;gap:6px;text-align:left}.input-group label{font-size:13px;font-weight:600;color:var(--text)}.input-group input{font:inherit;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.input-group input:hover:not(:focus){border-color:var(--border-strong)}.input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.input-group input.input-error{border-color:var(--danger)}.input-group input[type=file]{padding:8px;font-size:13px;color:var(--text-muted)}.input-error-text{font-size:12.5px;color:var(--danger)}.input-field{position:relative;display:flex;align-items:center}.input-field input{width:100%}.input-field.has-icon input{padding-left:40px}.input-field.has-toggle input{padding-right:40px}.input-field-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.input-field-toggle{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration) var(--ease)}.input-field-toggle:hover{color:var(--primary)}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:radial-gradient(circle at 15% 20%,var(--primary-light),transparent 45%),radial-gradient(circle at 85% 80%,var(--accent-light),transparent 45%),var(--bg)}.auth-card{width:100%;max-width:920px;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:stretch;background:var(--glass-bg-strong);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);overflow:hidden;animation:scale-in .45s var(--ease-out) both}.auth-visual{background-color:var(--primary-darker);background-image:url(/assets/auth-hero-DpSv1nfo.jpg);background-size:cover;background-position:center;color:var(--primary-contrast);position:relative;overflow:hidden;min-height:560px}.auth-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.22),transparent 50%);pointer-events:none}.auth-form-col{padding:36px 32px;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative}.auth-form-col:before{content:"";position:absolute;top:24px;right:24px;width:56px;height:40px;background-image:radial-gradient(circle,var(--border-strong) 1.5px,transparent 1.5px);background-size:10px 10px;opacity:.6;pointer-events:none}.auth-title{text-align:left;margin-bottom:4px;font-family:var(--display-font);font-weight:700;font-optical-sizing:auto;font-size:28px;letter-spacing:-.1px}.auth-subtitle{text-align:left;color:var(--text-muted);font-size:14px;margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:16px;text-align:left}.auth-form>.btn-primary{width:100%;margin-top:4px;padding:12px 20px}.auth-footer{text-align:center;font-size:14px;color:var(--text-muted);margin-top:4px}.auth-footer a{font-weight:600}.auth-link-row{display:flex;justify-content:flex-end;font-size:13.5px;margin-top:-8px}.social-auth{margin-top:20px}.social-auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:12.5px;margin-bottom:16px}.social-auth-divider:before,.social-auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.social-auth-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.social-btn{display:flex;align-items:center;justify-content:center;height:42px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--duration) var(--ease),transform .12s var(--ease-out),box-shadow var(--duration) var(--ease)}.social-btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.auth-footer-links{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:8px}.auth-footer-links li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-muted)}.auth-footer-links a{font-weight:600}.auth-footer-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--primary-light);color:var(--primary);flex-shrink:0}.navbar{position:sticky;top:0;z-index:10;background:var(--glass-bg-strong);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),0 4px 24px -8px #17213a14}.navbar-inner{position:relative;max-width:1080px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;row-gap:8px}.navbar-menu-btn{display:none;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--heading);cursor:pointer;flex-shrink:0}.navbar-brand{display:flex;align-items:center;gap:8px;font-family:var(--display-font);font-weight:700;font-optical-sizing:auto;font-size:18px;color:var(--heading);transition:transform var(--duration) var(--ease);min-width:0;flex-shrink:1}.navbar-brand-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-brand:hover{text-decoration:none;transform:translateY(-1px)}.navbar-brand-mark{display:flex;color:var(--primary)}.brand-mark{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;width:var(--brand-mark-size, 22px);height:var(--brand-mark-size, 22px)}.brand-mark-flame{position:absolute;top:-22%;width:52%;height:52%;color:var(--accent)}.brand-mark-dome{width:100%;height:62%}.navbar-links{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.nav-link{padding:8px 14px;border-radius:var(--radius-full);font-size:14px;font-weight:600;color:var(--text-muted);position:relative;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.nav-link:hover{color:var(--heading);text-decoration:none;background:var(--surface-muted)}.nav-link.active{color:var(--primary);background:var(--primary-light)}.navbar-user{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.avatar-badge{width:34px;height:34px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;overflow:hidden;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.avatar-badge img{width:100%;height:100%;object-fit:cover}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease),transform .12s var(--ease-out)}.icon-btn:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-bg);transform:translateY(-1px)}.navbar-search{display:flex;align-items:center;gap:8px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 14px;color:var(--text-muted);width:260px;max-width:30vw;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease)}.navbar-search:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--primary-light)}.navbar-search input{border:none;background:transparent;outline:none;font:inherit;font-size:13.5px;color:var(--heading);width:100%}.navbar-search input::placeholder{color:var(--text-muted)}.navbar-search-mobile{display:none}.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--glass-bg-strong);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-top:1px solid var(--glass-border);padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));align-items:stretch;justify-content:space-around}.bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-height:var(--tap);padding:4px 2px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;color:var(--text-muted);position:relative}.bottom-nav-link:hover{text-decoration:none}.bottom-nav-link.active{color:var(--primary)}.bottom-nav-badge{position:absolute;top:0;right:calc(50% - 16px);min-width:15px;height:15px;padding:0 3px;border-radius:var(--radius-full);background:var(--primary);color:var(--primary-contrast);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.nav-scrim{display:none}@media(max-width:860px){.navbar-menu-btn{display:inline-flex}.nav-scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f142066;border:none;padding:0;z-index:20;cursor:default;animation:fade-in .2s var(--ease) both}.navbar-links{display:none;position:absolute;top:100%;left:0;right:0;z-index:25;flex-direction:column;align-items:stretch;gap:2px;background:var(--surface);border:1px solid var(--border);border-top:none;padding:8px 16px 16px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 60px);overflow-y:auto}.navbar-links.open{display:flex;animation:fade-in-up .2s var(--ease-out) both}.navbar-links .nav-link{min-height:var(--tap);display:flex;align-items:center;border-radius:var(--radius-sm)}.navbar-search{display:none}.navbar-search-mobile{display:flex;margin-top:8px}}@media(max-width:640px){.bottom-nav{display:flex}.dashboard-shell .app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}.dashboard-shell{display:flex;align-items:flex-start;min-height:100svh}.dashboard-shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:30;width:264px;max-width:82vw;display:flex;flex-direction:column;gap:20px;padding:22px 18px;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;transform:translate(-100%);transition:transform .25s var(--ease-out)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border);color:var(--heading)}.sidebar-brand:hover{text-decoration:none}.sidebar-brand-mark{display:flex;color:var(--primary);flex-shrink:0}.sidebar-brand-name{display:block;font-family:var(--display-font);font-weight:700;font-optical-sizing:auto;font-size:16px}.sidebar-brand-tagline{display:block;margin-top:1px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;color:var(--text-muted);transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.sidebar-link:hover{background:var(--surface-muted);color:var(--heading);text-decoration:none}.sidebar-link.active{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-primary)}.sidebar-promo{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:var(--radius-md);background:var(--primary-gradient);color:var(--primary-contrast)}.sidebar-promo:hover{text-decoration:none}.sidebar-promo strong{font-family:var(--display-font);font-size:19px}.sidebar-promo span{font-size:12.5px;opacity:.92}.sidebar-promo-btn{margin-top:10px;display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:9px 16px;background:var(--surface);color:var(--primary-dark);border-radius:var(--radius-full);font-weight:700;font-size:12.5px}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-muted);color:var(--heading)}a.sidebar-profile:hover{border-color:var(--border-strong);text-decoration:none}.sidebar-profile-text{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-profile-text strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-text span{font-size:11.5px;color:var(--text-muted);text-transform:capitalize}@media(min-width:861px){.sidebar{position:sticky;top:0;height:100svh;max-width:none;flex-shrink:0;transform:none}}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--glass-bg-strong);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),0 4px 24px -8px #17213a14}.topbar-menu-btn{display:none;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--heading);cursor:pointer;flex-shrink:0}.topbar-title{margin:0;min-width:0;font-family:var(--display-font);font-weight:700;font-optical-sizing:auto;font-size:19px;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-deliver-to{display:flex;align-items:center;gap:8px;min-width:0;color:var(--heading)}.topbar-deliver-to:hover{text-decoration:none}.topbar-deliver-to-text{display:flex;flex-direction:column;min-width:0}.topbar-deliver-to-text small{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.topbar-deliver-to-text strong{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-search{display:flex;align-items:center}.topbar-search input{width:0;opacity:0;margin-left:0;padding:0;border:none;background:transparent;outline:none;font:inherit;font-size:13.5px;color:var(--heading);transition:width .2s var(--ease-out),opacity .15s var(--ease-out),padding .2s var(--ease-out),margin .2s var(--ease-out)}.topbar-search.open input{width:220px;opacity:1;margin-left:8px;padding:8px 14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-full)}.topbar-search.open input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--primary-light)}.topbar-search input::placeholder{color:var(--text-muted)}.topbar-profile{position:relative}.topbar-profile-trigger{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--heading);cursor:pointer}.topbar-profile-trigger:hover{background:var(--surface-muted)}.topbar-profile-name{font-size:13.5px;font-weight:600;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-profile-panel{position:absolute;top:calc(100% + 10px);right:0;width:200px;background:var(--glass-bg-strong);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);z-index:20;padding:6px;animation:scale-in .2s var(--ease-out) both;transform-origin:top right}.topbar-profile-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;border-radius:var(--radius-sm);font:inherit;font-size:13.5px;color:var(--text);cursor:pointer;text-align:left}.topbar-profile-item:hover{background:var(--surface-muted);color:var(--heading);text-decoration:none}@media(max-width:860px){.topbar-menu-btn{display:inline-flex}}@media(max-width:560px){.topbar{padding:12px 16px;gap:10px}.topbar-profile-name{display:none}.topbar-deliver-to-text strong{max-width:120px}.topbar-search.open input{width:150px}}.app-main{max-width:1080px;margin:0 auto;padding:32px 24px 64px;width:100%;animation:fade-in-up .45s var(--ease-out) both}.dashboard{display:flex;flex-direction:column;gap:24px}.welcome-card{background:var(--primary-gradient);color:var(--primary-contrast);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-primary),inset 0 1px #ffffff4d,inset 0 -12px 24px #00000014;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px}.welcome-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 88% -10%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}.welcome-card-text{min-width:0}.welcome-card-art{position:relative;flex-shrink:0;width:84px;height:84px;display:flex;align-items:center;justify-content:center;color:var(--primary-contrast);background:#ffffff29;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.welcome-card-art-ring{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.35);animation:spin 18s linear infinite}@media(max-width:560px){.welcome-card-art{display:none}}.welcome-card h1{color:var(--primary-contrast);margin-bottom:8px;font-family:var(--display-font);font-weight:700;font-optical-sizing:auto;font-size:32px;letter-spacing:-.1px}.welcome-card p{opacity:.92;font-size:15px}.welcome-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);background:#ffffff38;font-size:12.5px;font-weight:600;text-transform:capitalize;margin-left:6px}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;perspective:1200px}.quick-card{display:flex;align-items:flex-start;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;color:var(--heading);box-shadow:var(--shadow-sm);transition:box-shadow .35s var(--ease-out),transform .35s var(--ease-out),border-color var(--duration) var(--ease);animation:fade-in-up .5s var(--ease-out) both;transform-style:preserve-3d;will-change:transform}.quick-links .quick-card:nth-child(1){animation-delay:.03s}.quick-links .quick-card:nth-child(2){animation-delay:.07s}.quick-links .quick-card:nth-child(3){animation-delay:.11s}.quick-links .quick-card:nth-child(4){animation-delay:.15s}.quick-links .quick-card:nth-child(5){animation-delay:.19s}.quick-links .quick-card:nth-child(n+6){animation-delay:.22s}.quick-card:hover{text-decoration:none;box-shadow:var(--shadow-lg);border-color:var(--primary);transform:perspective(1200px) rotateX(2.5deg) rotateY(-3deg) translateY(-4px) scale(1.012)}.quick-card-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--duration) var(--ease-out)}.quick-card:hover .quick-card-icon{transform:scale(1.08) rotate(-4deg)}.quick-card h3{margin-bottom:2px}.quick-card p{font-size:13.5px;color:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap;animation:fade-in-up .4s var(--ease-out) both}.page-header p{color:var(--text-muted);font-size:14px;margin-top:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.card:has(>table){overflow-x:auto}.admin-table,.report-table{min-width:480px}.profile-page{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.profile-header{display:flex;align-items:center;gap:16px}.profile-avatar{position:relative;width:72px;height:72px;border-radius:50%;flex-shrink:0}.profile-avatar img,.profile-avatar-fallback{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-avatar-fallback{background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700}.profile-avatar-edit{position:absolute;bottom:-2px;right:-2px;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid var(--surface);transition:transform var(--duration) var(--ease-out),background var(--duration) var(--ease)}.profile-avatar-edit:hover{transform:scale(1.1);background:var(--primary-dark)}.profile-avatar-edit input{display:none}.profile-email{color:var(--text-muted);font-size:14px;margin-top:2px}.profile-role-badge{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;text-transform:capitalize}.address-book{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.address-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.address-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow-sm);animation:fade-in-up .4s var(--ease-out) both;transition:box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.address-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.address-card-label{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:var(--heading);font-weight:700}.address-card p{color:var(--text-muted);font-size:14px;line-height:1.5}.address-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.badge{font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:var(--radius-full);background:var(--success-bg);color:var(--success)}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted);border:1.5px dashed var(--border);border-radius:var(--radius-md);animation:fade-in .4s var(--ease) both}.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.offer-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm)}.offer-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent-light);color:var(--accent-dark);flex-shrink:0}.offer-card-body{flex:1;min-width:0}.offer-card-body strong{display:block;font-family:var(--display-font);font-size:15px;color:var(--heading);letter-spacing:.5px}.offer-card-body p{margin:3px 0 0;font-size:13px;color:var(--text-muted)}.offer-card-min{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:600;color:var(--text-muted)}.offer-card-copy{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);color:var(--heading);font-size:12.5px;font-weight:700;cursor:pointer;flex-shrink:0}.offer-card-copy:hover{border-color:var(--primary);color:var(--primary)}.help-contact-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:20px}.help-contact-card{display:flex;align-items:center;gap:14px;color:inherit}.help-contact-card:hover{text-decoration:none;border-color:var(--border-strong)}.help-contact-card strong{display:block;font-size:14px;color:var(--heading)}.help-contact-card p{margin:3px 0 0;font-size:12.5px;color:var(--text-muted)}.help-faq-card h2{font-size:17px;margin:0 0 16px}.help-faq-list{margin:0;display:flex;flex-direction:column;gap:16px}.help-faq-item dt{font-weight:700;font-size:14px;color:var(--heading)}.help-faq-item dd{margin:4px 0 0;font-size:13.5px;color:var(--text-muted)}.map-picker{height:220px;border-radius:var(--radius-sm);border:1.5px solid var(--border);overflow:hidden}.map-picker-fallback .hint{font-size:12.5px;color:var(--text-muted);margin-bottom:8px}.map-picker-fallback .latlng-inputs{display:flex;gap:8px}.map-picker-fallback .latlng-inputs input{font:inherit;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);width:100%}.form-row{display:flex;gap:12px}.form-row .input-group{flex:1}.page-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:80px 0;color:var(--text-muted);font-size:14px;animation:fade-in .3s var(--ease) both}.page-loading:before{content:"";width:20px;height:20px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--primary);animation:spin .7s linear infinite}.browse-page{display:flex;flex-direction:column;gap:20px}.browse-toolbar{display:flex;gap:12px;flex-wrap:wrap}.search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text-muted);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.search-box input{border:none;outline:none;background:transparent;font:inherit;color:var(--heading);width:100%}.browse-toolbar select{font:inherit;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);transition:border-color var(--duration) var(--ease)}.browse-toolbar select:hover{border-color:var(--border-strong)}.category-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font:inherit;font-size:13.5px;font-weight:600;padding:7px 16px;border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all var(--duration) var(--ease)}.chip:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-primary)}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;perspective:1200px}.restaurant-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .35s var(--ease-out),transform .35s var(--ease-out),border-color var(--duration) var(--ease);animation:fade-in-up .5s var(--ease-out) both;transform-style:preserve-3d;will-change:transform}.restaurant-grid .restaurant-card:nth-child(1){animation-delay:.02s}.restaurant-grid .restaurant-card:nth-child(2){animation-delay:.05s}.restaurant-grid .restaurant-card:nth-child(3){animation-delay:.08s}.restaurant-grid .restaurant-card:nth-child(4){animation-delay:.11s}.restaurant-grid .restaurant-card:nth-child(5){animation-delay:.14s}.restaurant-grid .restaurant-card:nth-child(n+6){animation-delay:.16s}.restaurant-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:perspective(1200px) rotateX(2deg) rotateY(-2.5deg) translateY(-5px) scale(1.012)}.restaurant-card-media{position:relative;display:block;height:120px;background:var(--surface-muted);overflow:hidden}.restaurant-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease-out)}.restaurant-card:hover .restaurant-card-media img{transform:scale(1.06)}.restaurant-card-media-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:36px}.restaurant-card-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:var(--radius-full);background:var(--primary);color:var(--primary-contrast);font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;box-shadow:var(--shadow-sm)}.restaurant-card-body{display:block;padding:14px 16px 16px;color:var(--heading)}.restaurant-card-body:hover{text-decoration:none}.restaurant-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.restaurant-card-top h3{font-size:15.5px}.rating-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);background:var(--success-bg);color:var(--success);flex-shrink:0}.restaurant-card-meta,.restaurant-card-city{font-size:13px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:4px}.favorite-btn,.wishlist-btn{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:none;background:#ffffffeb;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease-out);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.favorite-btn:hover,.wishlist-btn:hover{color:var(--danger);transform:scale(1.1)}.favorite-btn.active,.wishlist-btn.active{color:var(--danger)}.restaurant-detail{display:flex;flex-direction:column;gap:28px;animation:fade-in-up .4s var(--ease-out) both}.restaurant-hero{display:flex;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.restaurant-hero-media{width:220px;flex-shrink:0;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.restaurant-hero-media img{width:100%;height:100%;object-fit:cover}.restaurant-hero-media .restaurant-card-media-fallback{font-size:48px}.restaurant-hero-info{padding:22px 24px 22px 0;display:flex;flex-direction:column;gap:6px;flex:1}.restaurant-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.restaurant-hero-top .favorite-btn{position:static;background:var(--surface-muted);box-shadow:none}.restaurant-hero-meta{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-muted)}.restaurant-hero-meta .dot{opacity:.5}.restaurant-hero-desc{font-size:14px;color:var(--text);margin-top:6px;max-width:60ch}.restaurant-detail-grid{display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:start}.menu-column{display:flex;flex-direction:column;gap:28px;min-width:0}.menu-section h2{margin-bottom:14px}.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;perspective:1200px}.hours-card{position:sticky;top:88px}.hours-card h3{margin-bottom:12px}.opening-hours-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px}.opening-hours-list li{display:flex;justify-content:space-between;color:var(--text-muted)}.opening-hours-list li.today{color:var(--heading);font-weight:700}.food-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:box-shadow .35s var(--ease-out),transform .35s var(--ease-out),border-color var(--duration) var(--ease);transform-style:preserve-3d;will-change:transform}.food-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:perspective(1000px) rotateX(2deg) rotateY(-2.5deg) translateY(-4px) scale(1.012)}.food-card-media{position:relative;height:100px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.food-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease-out)}.food-card:hover .food-card-media img{transform:scale(1.06)}.food-card-media-fallback{font-size:28px}.food-card-body{padding:12px 14px 14px}.food-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.food-card-top h4{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--heading)}.veg-dot{width:10px;height:10px;border-radius:2px;border:1.5px solid var(--success);flex-shrink:0;position:relative}.veg-dot.veg:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--success)}.veg-dot.non-veg{border-color:var(--danger)}.veg-dot.non-veg:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--danger)}.food-card .wishlist-btn{position:static;width:26px;height:26px;background:var(--surface-muted);box-shadow:none;flex-shrink:0}.food-card-desc{font-size:12.5px;color:var(--text-muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.food-card-price{margin-top:8px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--heading)}.food-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.food-card-footer .food-card-price{margin-top:0}.variant-select{font:inherit;font-size:12.5px;padding:6px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);margin-top:8px;width:100%}.btn-sm{padding:6px 14px;font-size:13px}.qty-stepper{display:flex;align-items:center;gap:10px;background:var(--surface-muted);border-radius:var(--radius-sm);padding:4px 8px}.qty-stepper button{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--heading);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease),transform .12s var(--ease-out)}.qty-stepper button:hover{border-color:var(--primary);color:var(--primary);transform:scale(1.08)}.qty-stepper span{min-width:16px;text-align:center;font-weight:700;font-size:13.5px}.cart-btn{position:relative}.cart-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.cart-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--primary);color:var(--primary-contrast);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:scale-in .25s var(--ease-out) both}.cart-page,.checkout-page,.order-detail-page{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.cart-items{display:flex;flex-direction:column;gap:4px;padding:8px 24px}.cart-line{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);transition:background var(--duration) var(--ease)}.cart-line:last-child{border-bottom:none}.cart-line-info h4{font-size:14.5px;color:var(--heading)}.cart-line-variant{font-weight:400;color:var(--text-muted)}.cart-line-unit{font-size:12.5px;color:var(--text-muted);margin-top:2px}.cart-line-total{font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--heading);min-width:50px;text-align:right}.cart-summary{display:flex;flex-direction:column;gap:8px}.cart-summary-hint{font-size:12.5px;color:var(--text-muted);margin-bottom:8px}.summary-row{display:flex;justify-content:space-between;font-size:14px;color:var(--text)}.summary-row span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}.summary-row.discount{color:var(--success)}.summary-row.total{font-size:16px;font-weight:700;color:var(--heading);padding-top:10px;margin-top:4px;border-top:1px solid var(--border)}.link-inline{font-weight:600}.checkout-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.checkout-main{display:flex;flex-direction:column;gap:20px;min-width:0}.checkout-main .card h2,.checkout-summary h2{margin-bottom:14px}.address-select-list{display:flex;flex-direction:column;gap:10px}.address-select-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.address-select-card:hover{border-color:var(--primary)}.address-select-card.selected{border-color:var(--primary);background:var(--primary-light)}.address-select-card input{margin-top:3px;accent-color:var(--primary)}.address-select-card p{font-size:13px;color:var(--text-muted);margin-top:2px}.coupon-row{display:flex;gap:10px;align-items:flex-start}.coupon-row .input-group{flex:1}.coupon-applied{margin-top:10px;font-size:13.5px;color:var(--success);font-weight:600}.checkout-summary{display:flex;flex-direction:column;gap:10px}.checkout-summary-items{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}.checkout-summary-items li{display:flex;justify-content:space-between;font-size:13.5px;color:var(--text);gap:12px}.checkout-summary-items li span:first-child{color:var(--text-muted)}.checkout-summary .btn-primary{width:100%;margin-top:8px}.payment-page{display:flex;justify-content:center;padding-top:40px}.payment-card{max-width:380px;width:100%;text-align:center;display:flex;flex-direction:column;gap:6px}.payment-amount{font-size:36px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--heading);margin:8px 0 2px}.payment-meta{color:var(--text-muted);font-size:13.5px;margin-bottom:16px}.stub-banner{font-size:12.5px;color:var(--text-muted);background:var(--surface-muted);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px}.order-confirmed-banner{display:flex;align-items:center;gap:8px;background:var(--success-bg);color:var(--success);font-weight:700;padding:12px 16px;border-radius:var(--radius-sm);animation:scale-in .35s var(--ease-out) both}.order-address-heading{margin-top:20px;margin-bottom:6px}.order-address{font-size:14px;color:var(--text-muted)}.badge.status-placed,.badge.status-accepted,.badge.status-preparing,.badge.status-out_for_delivery{background:var(--primary-light);color:var(--primary)}.badge.status-delivered{background:var(--success-bg);color:var(--success)}.badge.status-cancelled{background:var(--danger-bg);color:var(--danger)}.badge.status-assigned,.badge.status-picked_up{background:var(--primary-light);color:var(--primary)}.online-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.online-toggle:disabled{cursor:not-allowed;opacity:.6}.online-toggle-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.online-toggle.online{background:var(--success-bg);color:var(--success);border-color:var(--success)}.online-toggle.online .online-toggle-dot{background:var(--success);box-shadow:0 0 0 0 var(--success);animation:live-pulse 1.6s infinite}.volume-chart{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:12px}.volume-chart-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}.volume-chart-bar{width:100%;max-width:24px;background:var(--primary-gradient);border-radius:4px 4px 0 0;min-height:4px;transform-origin:bottom;transition:height .4s var(--ease-out),filter var(--duration) var(--ease);animation:grow-bar .5s var(--ease-out) both}.volume-chart-bar-col:hover .volume-chart-bar{filter:brightness(1.08)}.volume-chart-label{font-size:10px;color:var(--text-muted);writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}.admin-table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr{transition:background var(--duration) var(--ease)}.admin-table tr:hover td{background:var(--surface-muted)}.admin-table tr:last-child td{border-bottom:none}.admin-table-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-table-restaurant{display:flex;align-items:center;gap:8px}.admin-table-restaurant img,.admin-table-restaurant-fallback{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.admin-table-restaurant-fallback{display:flex;align-items:center;justify-content:center;background:var(--surface-muted);font-size:13px}.admin-filter-bar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.refund-form{display:flex;gap:8px;align-items:center;padding:10px 0;flex-wrap:wrap}.refund-form input[type=number]{width:100px}.refund-form input[type=text]{flex:1;min-width:160px}.admin-filter-bar input[type=search],.refund-form input{font:inherit;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.admin-filter-bar input[type=search]:focus,.refund-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.order-status-col{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.live-indicator{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.live-indicator.connected{color:var(--success)}.live-indicator.connected .live-dot{background:var(--success);box-shadow:0 0 0 0 var(--success);animation:live-pulse 1.6s infinite}.status-stepper{list-style:none;display:flex;padding:0;margin:24px 0}.status-stepper li{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:relative;font-size:12px;color:var(--text-muted)}.status-stepper li:not(:last-child):after{content:"";position:absolute;top:11px;left:50%;width:100%;height:2px;background:var(--border);z-index:0;transition:background var(--duration) var(--ease)}.status-stepper li.done:not(:last-child):after{background:var(--primary)}.status-stepper-dot{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--primary-contrast);z-index:1;flex-shrink:0;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.status-stepper li.done .status-stepper-dot{background:var(--primary);border-color:var(--primary)}.status-stepper li.current .status-stepper-dot{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.status-stepper li.current .status-stepper-label{color:var(--primary);font-weight:700}.status-cancelled-banner{background:var(--danger-bg);color:var(--danger);font-weight:700;padding:12px 16px;border-radius:var(--radius-sm);margin:20px 0}.tracking-section{margin:20px 0}.tracking-section h3{margin-bottom:10px}.live-tracking-map{height:280px}.order-history-page{max-width:700px;margin:0 auto}.order-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.order-history-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;box-shadow:var(--shadow-sm);color:var(--heading);animation:fade-in-up .4s var(--ease-out) both;transition:box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease-out)}.order-history-card:hover{text-decoration:none;box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.order-history-info{flex:1;min-width:0}.order-history-card p{font-size:13px;color:var(--text-muted);margin-top:2px}.order-history-view-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;border:1px solid var(--primary-light);border-radius:var(--radius-full);color:var(--primary);font-size:12px;font-weight:700}.order-history-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.order-history-trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding:16px 20px;background:var(--accent-light);border-radius:var(--radius-md)}.order-history-trust-row>div{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;color:var(--accent-contrast)}.order-history-trust-row strong{display:block;font-size:13.5px}.order-history-trust-row span{font-size:12px;color:var(--text-muted)}.star-rating{display:inline-flex;gap:3px;color:var(--border)}.star-rating svg.filled{color:var(--accent)}.star-rating.interactive svg{cursor:pointer;transition:transform .12s var(--ease-out)}.star-rating.interactive svg:hover{transform:scale(1.2)}.review-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;align-items:flex-start}.review-textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);resize:vertical;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.review-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.review-comment{color:var(--text);font-size:14px}.review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.review-list-item{padding-bottom:14px;border-bottom:1px solid var(--border)}.review-list-item:last-child{border-bottom:none;padding-bottom:0}.review-list-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.review-list-item p{font-size:13.5px;color:var(--text);margin-bottom:4px}.review-date{font-size:11.5px;color:var(--text-muted)}.notification-bell{position:relative;display:inline-flex}.notification-panel{position:absolute;top:calc(100% + 10px);right:0;width:340px;max-height:420px;overflow-y:auto;background:var(--glass-bg-strong);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);z-index:20;animation:scale-in .2s var(--ease-out) both;transform-origin:top right}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.notification-mark-all{background:none;border:none;font-size:12.5px;cursor:pointer;color:var(--primary);font-weight:600}.notification-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13.5px}.notification-list{list-style:none;padding:0;margin:0}.notification-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--duration) var(--ease)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--surface-muted)}.notification-item strong{font-size:13.5px;color:var(--heading);display:block}.notification-item p{font-size:12.5px;color:var(--text-muted);margin:3px 0}.notification-time{font-size:11px;color:var(--text-muted)}.notification-item.unread{background:var(--primary-light);position:relative}.notification-item.unread:before{content:"";position:absolute;left:5px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--primary)}.notification-item.unread strong{padding-left:12px}@media(max-width:720px){.restaurant-hero{flex-direction:column}.restaurant-hero-media{width:100%;height:160px}.restaurant-hero-info{padding:18px}.restaurant-detail-grid{grid-template-columns:1fr}.hours-card{position:static}.navbar-search{display:none}.checkout-grid{grid-template-columns:1fr}.cart-line{grid-template-columns:1fr auto;row-gap:8px}}.auth-section-heading{margin-top:8px;margin-bottom:-4px;font-size:15px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:14px}.pending-approval-banner{display:flex;align-items:center;gap:10px;background:var(--primary-light);color:var(--primary-darker);font-size:13.5px;padding:12px 24px;border-bottom:1px solid var(--border)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{display:flex;align-items:center;gap:14px;transition:box-shadow .25s var(--ease-out),transform .25s var(--ease-out),border-color var(--duration) var(--ease)}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.stat-card-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-label{font-size:12.5px;color:var(--text-muted)}.stat-card-value{font-size:25px;font-weight:600;color:var(--heading);margin-top:2px;font-family:var(--mono);font-variant-numeric:tabular-nums}.top-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.top-items-list li{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--text)}.restaurant-profile-page{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.restaurant-profile-page .input-group input[type=file]{width:100%}.hours-editor{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.hours-editor-row{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:12px}.hours-editor-day{font-size:13.5px;font-weight:600;color:var(--heading)}.hours-editor-times{display:flex;align-items:center;gap:8px}.hours-editor-times input{font:inherit;padding:6px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading)}.hours-editor-closed{color:var(--text-muted);font-size:13px}.hours-editor-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted);white-space:nowrap}.menu-management-page{display:flex;flex-direction:column;gap:20px}.category-manage-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.category-manage-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;transition:border-color var(--duration) var(--ease)}.category-manage-row:hover{border-color:var(--border-strong)}.inline-edit-input{font:inherit;padding:6px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);flex:1;margin-right:10px}.variant-add-row{display:flex;gap:8px}.variant-add-row input{font:inherit;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--heading);flex:1;min-width:0}.variant-editor{margin-top:6px}.variant-toggle{font-size:12px}.variant-editor-body{margin-top:8px;display:flex;flex-direction:column;gap:6px;animation:fade-in .2s var(--ease) both}.variant-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text);background:var(--surface-muted);padding:6px 10px;border-radius:var(--radius-sm)}.menu-manage-list{display:flex;flex-direction:column;gap:12px}.menu-manage-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.menu-manage-row:last-child{border-bottom:none;padding-bottom:0}.menu-manage-info{flex:1;min-width:0}.menu-manage-info p{color:var(--text-muted);font-size:13px;margin-top:2px}.orders-queue-page{display:flex;flex-direction:column;gap:20px}.order-queue-list{display:flex;flex-direction:column;gap:12px}.order-queue-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;animation:fade-in-up .4s var(--ease-out) both;transition:box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.order-queue-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.order-queue-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:none;border:none;cursor:pointer;text-align:left;font:inherit}.order-queue-header p{color:var(--text-muted);font-size:13px;margin-top:2px}.order-queue-header p svg{vertical-align:-2px}.order-queue-header-main{display:flex;align-items:center;gap:12px;min-width:0}.order-thumb{width:52px;height:52px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--surface-muted)}.order-thumb-fallback{display:flex;align-items:center;justify-content:center;font-size:22px}.order-queue-detail{padding:12px 18px 16px;border-top:1px solid var(--border);animation:fade-in .2s var(--ease) both}.order-queue-customer{font-size:13.5px;color:var(--text);margin-bottom:8px;font-weight:600}.order-queue-actions{display:flex;gap:8px;padding:0 18px 16px}.sales-reports-page{display:flex;flex-direction:column;gap:20px}.report-filter-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.report-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.report-table th,.report-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.admin-table tbody tr,.report-table tbody tr{animation:fade-in .35s var(--ease) both}.report-table th{color:var(--text-muted);font-weight:600;font-size:12.5px}.report-table tfoot td{font-weight:700;color:var(--heading);border-bottom:none;border-top:2px solid var(--border)}.review-response{margin-top:10px;padding:10px 12px;background:var(--surface-muted);border-radius:var(--radius-sm);font-size:13px}.review-response strong{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px}@media(max-width:720px){.hours-editor-row{grid-template-columns:1fr;gap:6px}.order-queue-header{flex-wrap:wrap}}@media(max-width:860px){.navbar-inner{padding:10px 16px}.app-main{padding:24px 16px 56px}}@media(max-width:480px){.navbar-brand-label{max-width:96px}.navbar-user{gap:6px}.online-toggle{padding:6px 9px}.online-toggle-label{display:none}}@media(max-width:720px){.auth-card{grid-template-columns:1fr;max-width:420px}.auth-visual{min-height:320px}.auth-form-col{padding:28px 24px 32px}.form-row{flex-direction:column;gap:16px}.coupon-row,.refund-form{flex-direction:column;align-items:stretch}.refund-form input[type=number],.refund-form input[type=text]{width:100%}.admin-filter-bar,.admin-table-actions{flex-direction:column;align-items:stretch}.stat-card{padding:18px}.welcome-card{padding:24px}.status-stepper{overflow-x:auto;justify-content:flex-start;gap:4px}.status-stepper li{min-width:76px;flex:none}}@media(max-width:640px){h1{font-size:24px}.app-main{padding:20px 14px 24px}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.page-header .btn{width:100%}.dashboard,.quick-links,.stat-grid{gap:12px}.card{padding:18px}.cart-page,.checkout-page,.order-detail-page,.profile-page,.address-book,.restaurant-profile-page,.order-history-page{gap:16px}.checkout-grid{grid-template-columns:1fr}.restaurant-hero{border-radius:var(--radius-md)}.browse-toolbar{flex-direction:column;align-items:stretch}.browse-toolbar select{width:100%}.btn,.input-group input,.search-box,.browse-toolbar select,.admin-filter-bar input[type=search],.review-textarea,.navbar-search-mobile input{min-height:var(--tap)}.icon-btn{width:40px;height:40px}.chip{min-height:38px}.qty-stepper button{width:28px;height:28px}}@media(max-width:480px){.auth-page{padding:16px 12px}.auth-form-col{padding:24px 20px 28px}.navbar-brand{font-size:15px}.cart-line{grid-template-columns:1fr;row-gap:6px}.cart-line-total{text-align:left}.notification-panel{position:fixed;top:62px;left:10px;right:10px;width:auto}}.address-list .address-card:nth-child(1),.order-history-list .order-history-card:nth-child(1),.order-queue-list .order-queue-card:nth-child(1),.admin-table tbody tr:nth-child(1),.report-table tbody tr:nth-child(1){animation-delay:.02s}.address-list .address-card:nth-child(2),.order-history-list .order-history-card:nth-child(2),.order-queue-list .order-queue-card:nth-child(2),.admin-table tbody tr:nth-child(2),.report-table tbody tr:nth-child(2){animation-delay:.05s}.address-list .address-card:nth-child(3),.order-history-list .order-history-card:nth-child(3),.order-queue-list .order-queue-card:nth-child(3),.admin-table tbody tr:nth-child(3),.report-table tbody tr:nth-child(3){animation-delay:.08s}.address-list .address-card:nth-child(4),.order-history-list .order-history-card:nth-child(4),.order-queue-list .order-queue-card:nth-child(4),.admin-table tbody tr:nth-child(4),.report-table tbody tr:nth-child(4){animation-delay:.11s}.address-list .address-card:nth-child(5),.order-history-list .order-history-card:nth-child(5),.order-queue-list .order-queue-card:nth-child(5),.admin-table tbody tr:nth-child(5),.report-table tbody tr:nth-child(5){animation-delay:.14s}.address-list .address-card:nth-child(n+6),.order-history-list .order-history-card:nth-child(n+6),.order-queue-list .order-queue-card:nth-child(n+6),.admin-table tbody tr:nth-child(n+6),.report-table tbody tr:nth-child(n+6){animation-delay:.16s}
