.toast-container{z-index:10000}.toast-notification{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}@keyframes toast-enter{0%{opacity:0;transform:translateX(100%) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.9)}}@keyframes toast-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.toast-notification{animation:toast-enter .3s cubic-bezier(.175,.885,.32,1.275)}.toast-notification[data-visible=false]{animation:toast-exit .2s ease-in-out}.toast-notification.order-notification{animation:toast-enter .4s cubic-bezier(.175,.885,.32,1.275),pulse-glow 2s infinite,toast-bounce .6s ease-in-out}.toast-notification.reservation-notification{animation:toast-enter .4s cubic-bezier(.175,.885,.32,1.275),toast-bounce .6s ease-in-out}.toast-notification.error-notification{animation:toast-enter .3s cubic-bezier(.175,.885,.32,1.275),shake .5s ease-in-out}.toast-notification.success-notification{animation:toast-enter .3s cubic-bezier(.175,.885,.32,1.275),toast-bounce .4s ease-in-out}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.toast-notification .toast-progress{animation:toast-progress linear;background:#ffffff4d;border-radius:0 0 12px 12px;bottom:0;height:3px;left:0;position:absolute}@keyframes toast-progress{0%{width:100%}to{width:0}}.toast-notification:hover{transform:scale(1.02);transition:transform .2s ease-in-out}@media (max-width:640px){.toast-container{left:16px;right:16px;top:16px}.toast-notification{margin:0;max-width:none;width:100%}@keyframes toast-enter-mobile{0%{opacity:0;transform:translateY(-100%) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit-mobile{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-100%) scale(.9)}}.toast-notification{animation:toast-enter-mobile .3s cubic-bezier(.175,.885,.32,1.275)}.toast-notification[data-visible=false]{animation:toast-exit-mobile .2s ease-in-out}}@media (prefers-color-scheme:dark){.toast-notification{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}}@media (prefers-contrast:high){.toast-notification{border:2px solid}}@media (prefers-reduced-motion:reduce){.animate-pulse,.animate-spin,.toast-notification,.toast-notification.error-notification,.toast-notification.order-notification,.toast-notification.reservation-notification,.toast-notification.success-notification{animation:none}.toast-notification:hover{transform:none}}.toast-notification:focus-within{outline:2px solid #fffc;outline-offset:2px}.toast-container::-webkit-scrollbar{width:4px}.toast-container::-webkit-scrollbar-track{background:#0000}.toast-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.toast-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}body,html{overflow-x:hidden}.pwa-layout,body,html{position:relative;width:100%}.pwa-layout{background:#f8f9fa;display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:100vw;overflow:hidden}.pwa-header{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 2px 8px #0000001a;color:#fff;height:56px;left:0;position:fixed;right:0;top:0;width:100%;z-index:100}.pwa-header-content{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;max-width:100%;padding:0 16px;width:100%}.pwa-header-left,.pwa-header-right{align-items:center;display:flex;flex:0 0 auto;gap:8px}.pwa-header-title{flex:1;font-size:18px;font-weight:600;margin:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.pwa-menu-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.pwa-menu-button:active,.pwa-menu-button:hover{background:#ffffff1a}.pwa-main-content{-webkit-overflow-scrolling:touch;background:var(--gray-50);box-sizing:border-box;flex:1;height:calc(100vh - 64px);max-width:100vw;overflow-x:hidden;overflow-y:auto;padding-bottom:64px;position:relative;width:100%}@supports (padding:env(safe-area-inset-top)){.pwa-main-content{height:calc(100vh - 64px - env(safe-area-inset-bottom));padding-bottom:calc(64px + env(safe-area-inset-bottom))}.pwa-bottom-nav{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}.pwa-bottom-nav{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -2px 8px #0000000d;box-sizing:border-box;height:64px;justify-content:space-around;left:0;position:fixed;right:0;width:100%;z-index:100}.pwa-bottom-nav,.pwa-nav-item{align-items:center;display:flex}.pwa-nav-item{-webkit-tap-highlight-color:transparent;background:#0000;border:none;color:#6b7280;cursor:pointer;flex:1;flex-direction:column;gap:4px;justify-content:center;padding:8px 4px;position:relative;transition:all .2s}.pwa-nav-item:active{transform:scale(.95)}.pwa-nav-item.active{color:#0284c7}.pwa-nav-icon-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.pwa-nav-badge{background:#0284c7;border-radius:10px;color:#fff;font-size:10px;font-weight:600;min-width:18px;padding:2px 6px;position:absolute;right:-8px;text-align:center;top:-8px}.pwa-nav-label{font-size:12px;font-weight:500;text-align:center}.pwa-menu-overlay{animation:fadeIn .2s;background:#00000080;inset:0;position:fixed;z-index:200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pwa-side-menu{animation:slideIn .3s cubic-bezier(.4,0,.2,1);background:#fff;bottom:0;box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column;left:0;max-width:80vw;position:fixed;top:0;width:280px;z-index:201}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.pwa-menu-header{align-items:center;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;display:flex;justify-content:space-between;padding:20px}.pwa-menu-header h2{font-size:20px;font-weight:600;margin:0}.pwa-menu-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.pwa-menu-close:active,.pwa-menu-close:hover{background:#ffffff1a}.pwa-menu-content{flex:1;overflow-y:auto;padding:16px}.pwa-menu-section{margin-bottom:24px}.pwa-menu-section-title{color:#6b7280;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.pwa-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:16px;padding:12px;width:100%}.pwa-menu-info{color:#6b7280;font-size:14px;margin-bottom:8px}.pwa-menu-version{color:#9ca3af;font-size:12px}*{-webkit-tap-highlight-color:transparent}.pwa-menu-button,.pwa-nav-item,button{-webkit-user-select:none;user-select:none}.pwa-main-content,.pwa-menu-content{scroll-behavior:smooth}.pwa-nav-item,button,select{min-height:44px}@media (max-width:360px){.pwa-header-title{font-size:16px}.pwa-nav-label{font-size:11px}.pwa-side-menu{width:260px}}@media (min-width:768px){.pwa-layout{box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:768px}.pwa-bottom-nav,.pwa-header{left:50%;margin:0 auto;max-width:768px;transform:translateX(-50%)}}@media (orientation:landscape) and (max-height:500px){.pwa-header{height:48px}.pwa-bottom-nav{height:56px}.pwa-main-content{margin-bottom:56px;margin-top:48px}}@media (prefers-color-scheme:dark){.pwa-layout,.pwa-main-content{background:#1f2937}.pwa-bottom-nav,.pwa-side-menu{background:#111827;border-color:#374151}.pwa-nav-item{color:#9ca3af}.pwa-nav-item.active{color:#38bdf8}.pwa-select{background:#1f2937;border-color:#374151;color:#f3f4f6}.pwa-menu-info{color:#9ca3af}}.pwa-main-content>div{min-height:100%}.pwa-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:12px;padding:16px}.pwa-card-header{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:12px}.pwa-list-item{border-bottom:1px solid #e5e7eb;cursor:pointer;padding:12px 16px;transition:background-color .2s}.pwa-list-item:active{background:#f3f4f6}.pwa-list-item:last-child{border-bottom:none}.pwa-empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.pwa-empty-state-icon{margin-bottom:16px;opacity:.5}.pwa-empty-state-title{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:8px}.pwa-empty-state-message{color:#6b7280;font-size:14px}@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}