@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Roboto+Mono:wght@600&display=swap";:root{--color-primary: #F97316;--color-primary-dark: #EA580C;--color-primary-light: #FFEDD5;--color-accent: #F59E0B;--color-bg: #FAFAF9;--color-surface: #FFFFFF;--color-surface-alt: #F5F5F4;--color-text: #1C1917;--color-text-secondary: #78716C;--color-text-muted: #A8A29E;--color-text-inverse: #FFFFFF;--color-success: #22C55E;--color-success-bg: #DCFCE7;--color-success-text: #166534;--color-warning: #F59E0B;--color-warning-bg: #FEF3C7;--color-warning-text: #92400E;--color-error: #EF4444;--color-error-bg: #FEE2E2;--color-error-text: #991B1B;--color-info: #3B82F6;--color-info-bg: #DBEAFE;--color-info-text: #1E40AF;--color-border: #E7E5E4;--color-border-strong: #D6D3D1;--color-overlay: rgba(28,25,23,.55);--font-sans: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Roboto Mono", ui-monospace, monospace;--text-display-size: 32px;--text-display-line: 40px;--text-display-weight: 700;--text-h1-size: 24px;--text-h1-line: 32px;--text-h1-weight: 700;--text-h2-size: 20px;--text-h2-line: 28px;--text-h2-weight: 600;--text-h3-size: 18px;--text-h3-line: 26px;--text-h3-weight: 600;--text-body-size: 16px;--text-body-line: 24px;--text-body-weight: 400;--text-sm-size: 14px;--text-sm-line: 20px;--text-sm-weight: 400;--text-xs-size: 12px;--text-xs-line: 16px;--text-xs-weight: 500;--text-price-size: 18px;--text-price-line: 24px;--text-price-weight: 700;--text-mono-size: 16px;--text-mono-line: 24px;--text-mono-weight: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.07);--shadow-lg: 0 10px 20px rgba(0,0,0,.1);--shadow-cta: 0 -4px 12px rgba(0,0,0,.06);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--z-header: 100;--z-sticky-cta: 200;--z-bottomnav: 150;--z-sheet: 300;--z-modal: 400;--z-toast: 500}[data-theme=magenta]{--color-primary: #EC4899;--color-primary-dark: #DB2777;--color-primary-light: #FCE7F3}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--text-body-weight);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}#root{display:flex;justify-content:center;min-height:100dvh;background:var(--color-surface-alt)}.app-shell{position:relative;width:100%;max-width:428px;min-height:100dvh;background:var(--color-bg);display:flex;flex-direction:column;overflow-x:hidden}.page-content{flex:1;overflow-y:auto;padding-bottom:calc(56px + env(safe-area-inset-bottom))}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.page-content::-webkit-scrollbar{display:none}.page-content{-ms-overflow-style:none;scrollbar-width:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-inverse{color:var(--color-text-inverse)}.font-mono{font-family:var(--font-mono)}@keyframes badge-bounce{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1)}}.badge-bounce{animation:badge-bounce var(--motion-slow) var(--ease-standard)}@keyframes success-pulse{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.success-pulse{animation:success-pulse var(--motion-slow) var(--ease-standard) forwards}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-enter{animation:page-fade-in var(--motion-base) var(--ease-standard) both}@keyframes countdown-pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.countdown--urgent{color:var(--color-error);animation:countdown-pulse 1s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-to-content{position:absolute;top:-100%;left:var(--space-4);z-index:calc(var(--z-toast) + 10);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--text-sm-size);font-weight:600;transition:top var(--motion-fast)}.skip-to-content:focus{top:var(--space-2)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:428px;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:var(--z-bottomnav);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;align-items:stretch}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-1) 0;color:var(--color-text-muted);transition:color var(--motion-fast);min-height:44px}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__icon{font-size:22px;line-height:1}.bottom-nav__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;line-height:1}.bottom-nav__badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 3px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.bottom-nav__label{font-size:11px;font-weight:400;line-height:1}.bottom-nav__item--active .bottom-nav__label{font-weight:600}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:60dvh;padding:var(--space-8) var(--space-6);text-align:center}.error-boundary__icon{font-size:56px;line-height:1}.error-boundary__title{font-size:var(--text-h2-size);font-weight:700;color:var(--color-text);line-height:var(--text-h2-line)}.error-boundary__subtitle{font-size:var(--text-sm-size);color:var(--color-text-secondary);max-width:280px;line-height:var(--text-sm-line)}.error-boundary__cta{min-height:52px;width:100%;max-width:280px;border-radius:var(--radius-md);font-size:var(--text-sm-size);font-weight:700;background:var(--color-primary);color:var(--color-text-inverse);transition:background var(--motion-fast),transform var(--motion-fast)}.error-boundary__cta:active{transform:scale(.98)}.error-boundary__cta--outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.error-boundary__cta--outline:active{background:var(--color-primary-light)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{display:block;background:linear-gradient(90deg,var(--color-surface-alt) 25%,#eae8e7 50%,var(--color-surface-alt) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite ease-in-out;border-radius:var(--radius-sm)}.menu-card-skeleton{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.menu-card-skeleton__img{width:100%;aspect-ratio:1;border-radius:0;height:auto;padding-bottom:100%}.menu-card-skeleton__body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.menu-grid-skeleton{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-4)}.item-detail-skeleton{display:flex;flex-direction:column}.item-detail-skeleton__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.cart-item-skeleton{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);border-bottom:1px solid var(--color-border)}.cart-item-skeleton__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.cart-item-skeleton__footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.cart-page-skeleton__header{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.cart-page-skeleton__section{padding:var(--space-4)}.cart-page-skeleton__summary{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.cart-page-skeleton__summary-row{display:flex;justify-content:space-between}.checkout-skeleton__header{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.checkout-skeleton__section{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.checkout-skeleton__cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.checkout-skeleton__row{display:flex;justify-content:space-between}.order-summary-skeleton__header{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.order-summary-skeleton__qr{display:flex;justify-content:center;padding:var(--space-6) 0}.order-summary-skeleton__section{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-top:1px solid var(--color-border)}.order-summary-skeleton__item{display:flex;flex-direction:column;gap:var(--space-1)}.order-summary-skeleton__row{display:flex;justify-content:space-between}.history-card-skeleton{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-sm)}.history-card-skeleton__top{display:flex;align-items:center;gap:var(--space-3)}.history-card-skeleton__logo{flex-shrink:0}.history-card-skeleton__info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.history-card-skeleton__bottom{display:flex;justify-content:space-between;align-items:center}
