*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root{--primary:#930031;--primary-soft:#fbeef2;--primary-border:#efc2d0;--page-gutter:16px;--header-height:56px}.menu-page{background:#fff;min-height:100%}.menu-header{z-index:10;height:var(--header-height);padding:0 var(--page-gutter);background:#fff;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:12px;line-height:normal;display:flex;position:sticky;top:0}.menu-header--start{justify-content:flex-start;gap:4px;padding-left:8px}.menu-header--center{justify-content:center}.cart-button.ant-btn{border-radius:10px;width:40px;height:40px;font-size:18px}.menu-header__title.ant-typography{min-width:0;color:var(--primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.menu-content{width:100%;max-width:1200px;padding:16px var(--page-gutter) 32px;margin:0 auto}.menu-banner{--banner-height:140px;border-radius:16px;overflow:hidden}.menu-banner__slide{height:var(--banner-height);color:#fff;background:linear-gradient(90deg, #000000b8 0%, #00000080 50%, #0000004d 100%), var(--banner-image,none) center / cover no-repeat, linear-gradient(135deg, var(--primary), #c2185b);flex-direction:column;justify-content:center;gap:4px;padding:20px 24px;display:flex}.menu-skeleton__banner,.menu-skeleton__banner .ant-skeleton-node,.menu-skeleton__card,.menu-skeleton__card .ant-skeleton-node{width:100%!important}.menu-skeleton__banner .ant-skeleton-node{border-radius:16px;height:140px!important}.menu-skeleton__card .ant-skeleton-node{border-radius:12px;height:220px!important}.menu-banner__title,.menu-banner__subtitle{text-shadow:0 1px 6px #00000059;max-width:70%}.menu-banner__title{font-size:20px;font-weight:700}.menu-banner__subtitle{opacity:.9;font-size:14px}.quick-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.quick-action{min-width:0;height:44px;font:inherit;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:500;transition:background .2s,border-color .2s;display:flex}.quick-action:hover{border-color:var(--primary)}.quick-action:disabled{cursor:wait;opacity:.7}.quick-action__icon{flex-shrink:0;font-size:16px}.quick-action__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.review-form{text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:8px;display:flex}.review-form__rate.ant-rate{font-size:36px}.review-form__label{min-height:22px;color:var(--primary);font-weight:600}.review-form .ant-input-textarea-affix-wrapper,.review-form .ant-input{text-align:left;width:100%}.category-bar{top:var(--header-height);z-index:9;margin:0 calc(var(--page-gutter) * -1) 12px;padding:12px var(--page-gutter);background:#fff;align-items:center;gap:8px;display:flex;position:sticky}.category-bar__picker.ant-btn{flex-shrink:0;width:36px;min-width:36px;padding:0}.category-bar__list{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.category-bar__list::-webkit-scrollbar{display:none}.category-bar__list .ant-btn{flex-shrink:0}.category-picker__item{cursor:pointer;padding-inline:4px}.category-picker__item.is-active{color:var(--primary);font-weight:600}.category-picker__count{color:#00000073;margin-left:auto;margin-right:8px;font-size:13px;font-weight:400}.category-picker__drawer .ant-drawer-content{border-radius:16px 16px 0 0}.product-card{border-radius:14px;height:100%}.product-card .ant-card-body{flex-direction:column;height:100%;display:flex}.product-card__action{box-sizing:content-box;align-items:center;height:32px;margin-top:auto;padding-top:10px;display:flex}.qty-stepper{justify-content:space-between;align-items:center;width:100%;display:flex}.qty-stepper__value{font-size:15px;font-weight:600}.product-card{cursor:pointer}.product-card__action{cursor:default}.product-detail{flex-direction:column;display:flex}.product-detail__image{aspect-ratio:4/3;max-height:45vh;color:var(--primary-border);background:var(--primary-soft);place-items:center;font-size:64px;display:grid;overflow:hidden}.product-detail__image img{object-fit:cover;width:100%;height:100%}.product-detail__body{padding:16px 20px 0}.product-detail__name.ant-typography{margin:0 0 4px}.product-detail__price.ant-typography{color:var(--primary);font-size:18px}.product-detail__desc.ant-typography{margin:12px 0 0;font-size:14px;line-height:1.6}.product-detail__action{min-height:40px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));align-items:center;display:flex}.qty-stepper--large .ant-btn{width:40px;min-width:40px;height:40px}.qty-stepper--large .qty-stepper__value{font-size:18px}.product-detail__modal .ant-modal-content{border-radius:16px;padding:0;overflow:hidden}.product-detail__modal .ant-modal-close{background:#ffffffe6;border-radius:50%}.product-detail__drawer .ant-drawer-content{overflow:hidden}.product-detail__drawer .ant-drawer-body{position:relative}.product-detail__handle{z-index:1;cursor:pointer;background:#ffffffe6;border-radius:3px;width:40px;height:5px;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0003}.product-detail__minimize{width:56px;height:36px;color:var(--primary);cursor:pointer;background:#fff;border:none;border-radius:12px;place-items:center;padding:0;font-size:14px;display:grid;position:absolute;top:-48px;right:16px;box-shadow:0 4px 12px #0003}.product-detail__minimize:active{background:var(--primary-soft)}.checkout-content{flex-direction:column;gap:12px;max-width:640px;display:flex}.checkout-card{border-radius:14px}.checkout-item{gap:12px;padding:14px 16px;display:flex}.checkout-item+.checkout-item{border-top:1px solid #f0f0f0}.checkout-item__image{width:64px;height:64px;color:var(--primary-border);background:var(--primary-soft);border-radius:10px;flex-shrink:0;place-items:center;font-size:22px;display:grid;overflow:hidden}.checkout-item__image img{object-fit:cover;width:100%;height:100%}.checkout-item__body{flex-direction:column;flex:1;min-width:0;display:flex}.checkout-item__name.ant-typography{font-weight:500}.checkout-item__price.ant-typography{font-size:12px}.checkout-item__footer{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.checkout-item__subtotal.ant-typography{color:var(--primary)}.qty-stepper--compact{gap:12px;width:auto}.summary-row{color:#000000a6;justify-content:space-between;gap:12px;padding:4px 0;display:flex}.summary-row--total{color:#000000e0;border-top:1px dashed #e5e5e5;margin-top:8px;padding-top:12px;font-size:16px;font-weight:700}.queue-hero{text-align:center;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:28px 16px 24px;display:flex}.queue-hero__label{letter-spacing:.08em;text-transform:uppercase;color:#0000008c;font-size:14px;font-weight:600}.queue-hero__number{color:var(--primary);font-variant-numeric:tabular-nums;font-size:88px;font-weight:800;line-height:1.05}.queue-hero__hint{color:#000000bf;max-width:320px;font-size:14px}.queue-hero__time{color:#00000073;margin-top:4px;font-size:12px}.summary-row--item{color:#000000d9}.summary-row--item>span:last-child{flex-shrink:0}.queue-note{background:#fafafa;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:13px}.action-bar-spacer{height:calc(96px + env(safe-area-inset-bottom));flex-shrink:0}.action-bar{z-index:20;padding:12px var(--page-gutter) calc(12px + env(safe-area-inset-bottom));background:#fff;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.action-bar__inner{flex-direction:column;gap:4px;max-width:600px;margin:0 auto;display:flex}.cart-float-spacer{height:calc(88px + env(safe-area-inset-bottom));flex-shrink:0}.cart-float-spacer.is-minimized{height:calc(64px + env(safe-area-inset-bottom))}.cart-float{z-index:20;padding:0 var(--page-gutter) calc(16px + env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.cart-float__inner{color:#fff;background:var(--primary);pointer-events:auto;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;max-width:600px;margin:0 auto;padding:10px 10px 10px 18px;animation:.2s ease-out cart-float-in;display:flex;position:relative;box-shadow:0 8px 24px #9300314d}.cart-float__toggle{width:28px;height:28px;color:var(--primary);border:1px solid var(--primary-border);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:12px;display:grid;position:absolute;top:-12px;right:16px;box-shadow:0 2px 8px #00000026}.cart-float__toggle:hover{background:var(--primary-soft)}.cart-float__mini{pointer-events:auto;justify-content:flex-end;max-width:600px;margin:0 auto;animation:.2s ease-out cart-float-in;display:flex}.cart-float__mini .ant-btn{box-shadow:0 8px 24px #9300314d}.cart-float__mini .ant-badge-count{box-shadow:0 0 0 1px var(--primary)}.cart-float__info{flex-direction:column;min-width:0;display:flex}.cart-float__count{white-space:nowrap;font-size:15px;font-weight:700}.cart-float__label{opacity:.85;font-size:12px}.cart-float__total{font-size:18px;font-weight:700}.cart-float__tagline{white-space:nowrap;text-overflow:ellipsis;opacity:.85;font-size:12px;overflow:hidden}.cart-float__inner .ant-btn{color:var(--primary);box-shadow:none;background:#fff;border-color:#fff;flex-shrink:0;font-weight:600}.cart-float__inner .ant-btn:hover{color:var(--primary)!important;background:var(--primary-soft)!important;border-color:var(--primary-soft)!important}@media (width<=479px){.cart-float__inner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px 16px}.cart-float__tagline{white-space:normal}.cart-float-spacer:not(.is-minimized){height:calc(168px + env(safe-area-inset-bottom))}}@keyframes cart-float-in{0%{opacity:0;transform:translateY(16px)}}.product-card__image{aspect-ratio:1;color:var(--primary-border);background:var(--primary-soft);border-radius:10px;place-items:center;margin-bottom:10px;font-size:36px;display:grid;overflow:hidden}.product-card__image img{object-fit:cover;width:100%;height:100%}.product-card__name.ant-typography{min-height:2.6em;margin-bottom:4px;font-size:14px;line-height:1.3}.product-card__price.ant-typography{color:var(--primary)}@media (width>=768px){.menu-banner{--banner-height:220px}.menu-skeleton__banner .ant-skeleton-node{height:220px!important}.menu-banner__slide{padding:32px 48px}.menu-banner__title{font-size:28px}.menu-banner__subtitle{font-size:16px}}.no-table-alert{margin-bottom:12px}.checkout-table{background:var(--primary-soft,#f9eef1);color:var(--primary);border-radius:12px;margin-bottom:12px;padding:10px 14px}
