app-restaurant-detail{display:block}app-restaurant-detail .hero{position:relative;border-radius:var(--radius-card);padding:clamp(2rem,5vw,3.5rem);padding-top:0;box-shadow:var(--shadow-soft);border:1px solid rgba(10,10,10,.06);display:flex;flex-direction:column;justify-content:flex-start;gap:1rem;margin-bottom:1rem;min-height:clamp(280px,45vw,420px);overflow:hidden;background-color:var(--surface);background-size:cover;background-position:center;transition:background-image .8s ease-in-out;color:#f6f6f6}app-restaurant-detail .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,#041810bf,#04181059 55%,#04181099);pointer-events:none}app-restaurant-detail .hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:.85rem;width:100%;padding-top:clamp(2rem,5vw,3.5rem)}app-restaurant-detail .hero-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;row-gap:.65rem}app-restaurant-detail .hero-identity{display:flex;align-items:center;gap:1rem;flex:1 1 auto;min-width:0}app-restaurant-detail .hero-logo{flex:0 0 auto;width:clamp(64px,10vw,96px);aspect-ratio:1;border-radius:22%;object-fit:cover;background:#ffffff2e;padding:.35rem;box-shadow:0 8px 20px #00000040;border:1px solid rgba(255,255,255,.24)}app-restaurant-detail .hero-title-wrapper{display:flex;align-items:center;gap:.75rem;flex:1 1 16rem;min-width:0;flex-wrap:wrap}app-restaurant-detail .hero-title{font-size:clamp(2.25rem,4.8vw,3.6rem);font-weight:700;letter-spacing:-.045em;margin:0;flex:1 1 16rem;min-width:0;line-height:1.05;word-break:break-word}app-restaurant-detail .demo-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;border-radius:999px;background:#ff6b35;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.02em;box-shadow:0 4px 12px #ff6b3559;text-transform:uppercase;flex-shrink:0}app-restaurant-detail .private-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;border-radius:999px;background:#6b35ff;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.02em;box-shadow:0 4px 12px #6b35ff59;text-transform:uppercase;flex-shrink:0}app-restaurant-detail .hero-info-button{border:1px solid rgba(255,255,255,.35);background:#ffffff2e;color:#ffffffeb;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease;position:absolute;top:1rem;right:1rem;z-index:2}app-restaurant-detail .hero-info-button:hover,app-restaurant-detail .hero-info-button:focus{background:#ffffff47;transform:translatey(-1px)}app-restaurant-detail .hero-info-button:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}app-restaurant-detail .hero-info-button span{font-weight:700;font-size:1.25rem;line-height:1}app-restaurant-detail .hero-description{margin:0;line-height:1.6;color:#ffffffe0}app-restaurant-detail .hero-cuisines{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;color:#ffffffd9}app-restaurant-detail .hero-cuisines li{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;background:#ffffff29;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-weight:500;letter-spacing:.01em}app-restaurant-detail .hero-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;color:#ffffffc7}app-restaurant-detail .hero-meta span{display:inline-flex;align-items:center;gap:.4rem}app-restaurant-detail .hero-hours{margin-top:1.5rem;padding:1.25rem;background:#ffffff24;border-radius:clamp(14px,3vw,18px);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:row;gap:1.5rem;flex-wrap:wrap}app-restaurant-detail .hero-hours-location-info{display:flex;flex-direction:column;gap:.75rem;flex:1 1 auto;min-width:min(200px,100%)}app-restaurant-detail .hero-hours-location-name{font-weight:700;font-size:1rem;color:#fffffff2;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}app-restaurant-detail .hero-hours-location-icon{width:1.1rem;height:1.1rem;flex-shrink:0;color:#fffffff2}app-restaurant-detail .hero-hours-status{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.25rem}app-restaurant-detail .hero-hours-badge{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .9rem;border-radius:999px;font-weight:600;letter-spacing:.01em;background:#1fc97333;border:1px solid rgba(31,201,115,.5);color:#eafff4;text-transform:uppercase;font-size:.78rem;width:fit-content;box-shadow:0 2px 8px #00000026}app-restaurant-detail .hero-hours-badge.closed{background:#f1494933;border-color:#f149498c;color:#ffeaea}app-restaurant-detail .hero-hours-badge.opening-soon{background:#ffb74d38;border-color:#ffb74d99;color:#fff4e3}app-restaurant-detail .hero-hours-badge.closing-soon{background:#ff8f6b3d;border-color:#ff8f6b99;color:#fff1eb}app-restaurant-detail .hero-hours-detail{font-size:.92rem;opacity:.88;color:#ffffffe6;line-height:1.4}app-restaurant-detail .hero-hours-day-intervals{display:flex;flex-direction:column;gap:.5rem}app-restaurant-detail .hero-hours-day-interval{font-size:1rem;font-weight:600;color:#fffffff2;letter-spacing:.01em;padding:.5rem .75rem;background:#ffffff1a;border-radius:8px;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:fit-content}app-restaurant-detail .hero-hours-day-empty{font-size:.92rem;opacity:.75;color:#ffffffd9;font-style:italic;padding:.5rem .75rem;background:#0000001f;border-radius:8px;width:fit-content}app-restaurant-detail .hero-hours-day-exception{font-size:.85rem;opacity:.9;color:#ffffffe0;font-style:italic;margin-top:.25rem;padding:.35rem .65rem;background:#ffffff14;border-radius:6px;width:fit-content}app-restaurant-detail .hero-hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}app-restaurant-detail .hero-hours-day{padding:.75rem;border-radius:12px;background:#0000001f;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.35rem;min-height:96px}app-restaurant-detail .hero-hours-day.today{background:#ffffff2e;border-color:#ffffff52}app-restaurant-detail .hero-hours-day-title{font-weight:600;letter-spacing:.01em;font-size:.9rem}app-restaurant-detail .hero-hours-day-interval{font-size:.95rem;opacity:.92}app-restaurant-detail .hero-hours-day-empty{font-size:.9rem;opacity:.7}app-restaurant-detail .hero-hours-day-exception{font-size:.85rem;opacity:.85}app-restaurant-detail .hero-hours-exceptions{margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem}app-restaurant-detail .hero-hours-exceptions h4{margin:0;font-size:1rem;font-weight:600}app-restaurant-detail .hero-hours-exceptions-list{display:flex;flex-direction:column;gap:.6rem}app-restaurant-detail .hero-hours-exception{padding:.75rem .85rem;border-radius:12px;display:grid;gap:.3rem;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.35);background:linear-gradient(135deg,#ffffff2e,#ffffff14);box-shadow:inset 0 1px #ffffff1f}app-restaurant-detail .hero-hours-exception:before{content:"";position:absolute;inset:0;opacity:.92;pointer-events:none;mix-blend-mode:screen}app-restaurant-detail .hero-hours-exception.open:before{background:linear-gradient(135deg,#2ecc958c,#1b998b66)}app-restaurant-detail .hero-hours-exception.closed:before{background:linear-gradient(135deg,#f565658c,#cb434359)}app-restaurant-detail .hero-hours-exception strong{font-weight:600;position:relative;z-index:1}app-restaurant-detail .hero-hours-exception p{margin:0;font-size:.9rem;position:relative;z-index:1}app-restaurant-detail .hero-hours-exception p:last-child{font-size:.85rem;opacity:.9}app-restaurant-detail .hero-hours-empty{font-size:.95rem;opacity:.8}app-restaurant-detail .tag{background:#ffffff29;color:#fff;font-weight:600;padding:.35rem .85rem;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}app-restaurant-detail h3{margin-top:0;font-size:1.5rem}app-restaurant-detail .menu-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;width:100%}app-restaurant-detail .menu-search{position:relative;width:100%;display:inline-flex;align-items:center;flex:1 1 16rem;min-width:0}app-restaurant-detail .menu-search input{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.65rem 1rem .65rem 2.65rem;font:inherit;background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}app-restaurant-detail .menu-search input::placeholder{color:#10181273}app-restaurant-detail .menu-search input:focus{outline:none;border-color:color-mix(in srgb,var(--brand-green) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-green) 30%,transparent);background:#ffffffeb}app-restaurant-detail .menu-search-icon{position:absolute;left:1.1rem;width:1.1rem;height:1.1rem;color:#101812b3;pointer-events:none}app-restaurant-detail .menu-filters{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}app-restaurant-detail .menu-filters-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-left:auto}app-restaurant-detail .menu-filters-toggle{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid rgba(16,24,18,.12);background:#ffffffd1;padding:.4rem .85rem;font-weight:600;font-size:.9rem;color:#101812bf;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}app-restaurant-detail .menu-filters-toggle:hover,app-restaurant-detail .menu-filters-toggle:focus-visible{background:#fffffff5;border-color:color-mix(in srgb,var(--brand-green) 36%,rgba(16,24,18,.1));color:var(--brand-green);box-shadow:0 10px 24px #0c20161f}app-restaurant-detail .menu-filters-toggle:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .menu-filters-toggle svg{display:block}app-restaurant-detail .menu-filters-icon,app-restaurant-detail .menu-filters-toggle-icon{width:1.1rem;height:1.1rem;flex-shrink:0;color:#1018128c}app-restaurant-detail .menu-filters-toggle:hover .menu-filters-icon,app-restaurant-detail .menu-filters-toggle:focus-visible .menu-filters-icon,app-restaurant-detail .menu-filters-toggle:hover .menu-filters-toggle-icon,app-restaurant-detail .menu-filters-toggle:focus-visible .menu-filters-toggle-icon{color:var(--brand-green)}app-restaurant-detail .menu-filters-title{font-weight:700;font-size:.95rem;color:currentColor}app-restaurant-detail .menu-filters-count{background:var(--brand-green);color:#fff;border-radius:999px;font-size:.75rem;padding:.15rem .5rem;min-width:1.5rem;text-align:center;line-height:1.1;font-weight:700}app-restaurant-detail .menu-filters-toggle-icon{transition:transform .2s ease;transform-box:fill-box;transform-origin:50% 50%}app-restaurant-detail .menu-filters-toggle-icon.expanded{transform:rotate(180deg)}app-restaurant-detail .menu-filters-toggle-icon path,app-restaurant-detail .menu-filters-icon path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}app-restaurant-detail .menu-filters-reset{border:none;background:none;color:var(--brand-green);font-weight:600;font-size:.9rem;cursor:pointer;padding:.25rem 0}app-restaurant-detail .menu-filters-reset:hover,app-restaurant-detail .menu-filters-reset:focus-visible{text-decoration:underline}app-restaurant-detail .menu-filters-active{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}app-restaurant-detail .menu-filters-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand-green) 25%,rgba(16,24,18,.12));background:color-mix(in srgb,var(--brand-green) 8%,rgba(255,255,255,.92));color:var(--brand-green);padding:.3rem .65rem;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}app-restaurant-detail .menu-filters-chip span:last-child{font-size:.9rem}app-restaurant-detail .menu-filters-chip:hover,app-restaurant-detail .menu-filters-chip:focus-visible{background:color-mix(in srgb,var(--brand-green) 15%,rgba(255,255,255,.96));border-color:color-mix(in srgb,var(--brand-green) 45%,rgba(16,24,18,.12));box-shadow:0 8px 20px #0c20161f}app-restaurant-detail .menu-filters-chip:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .menu-filters-panel{border:1px solid rgba(255,255,255,.75);background:#ffffffdb;border-radius:18px;padding:.75rem;box-shadow:0 18px 36px #0c20161f;display:flex;flex-direction:column;gap:.75rem}app-restaurant-detail .menu-filter-groups{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){app-restaurant-detail .menu-filter-groups{flex-direction:row;flex-wrap:wrap}}app-restaurant-detail .menu-filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:min(240px,100%)}app-restaurant-detail .menu-filter-group-title{margin:0;font-weight:600;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:#10181280}app-restaurant-detail .menu-filter-options{display:flex;flex-wrap:wrap;gap:.4rem}app-restaurant-detail .menu-filter-option{border:1px solid color-mix(in srgb,var(--brand-green) 20%,rgba(16,24,18,.08));background:#ffffffe6;border-radius:999px;padding:.3rem .65rem;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-weight:600;color:#101812b8;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}app-restaurant-detail .menu-filter-option:hover,app-restaurant-detail .menu-filter-option:focus-within{border-color:color-mix(in srgb,var(--brand-green) 40%,rgba(255,255,255,.7));box-shadow:0 6px 16px #0c20161a}app-restaurant-detail .menu-filter-option.active{background:#fffffff5;border-color:color-mix(in srgb,var(--brand-green) 40%,rgba(255,255,255,.7));color:var(--brand-green)}app-restaurant-detail .menu-filter-option input{appearance:none;width:.95rem;height:.95rem;border-radius:.3rem;border:2px solid rgba(16,24,18,.35);background:#fff;position:relative}app-restaurant-detail .menu-filter-option input:checked{border-color:var(--brand-green);background:var(--brand-green)}app-restaurant-detail .menu-filter-option input:checked:after{content:"";position:absolute;width:.35rem;height:.6rem;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg);top:.05rem;left:.27rem}app-restaurant-detail .menu-filter-option input:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .menu-filter-option span{font-size:.88rem}app-restaurant-detail .menu-empty{margin:2.5rem 0;padding:2rem;text-align:center;border-radius:var(--radius-card);background:#0418100a;color:#101812b3;font-weight:500}app-restaurant-detail .category-nav{display:flex;justify-content:center;margin-bottom:.75rem;position:sticky;top:0;z-index:20;padding:clamp(.75rem,1vw,1.25rem) 0}app-restaurant-detail .category-nav-surface{width:min(980px,100%);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border-radius:22px;border:1px solid rgba(255,255,255,.75);box-shadow:0 12px 36px #0c20161f;padding:clamp(.85rem,1.6vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.75rem,1.5vw,1rem)}app-restaurant-detail .category-nav-buttons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center}app-restaurant-detail .category-nav button{appearance:none;border:1px solid rgba(10,10,10,.12);background:var(--surface);color:inherit;border-radius:999px;padding:.6rem 1.1rem;cursor:pointer;font-size:.9rem;font-weight:600;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;box-sizing:border-box;display:inline-flex;align-items:center;gap:.4rem}app-restaurant-detail .category-nav button:hover,app-restaurant-detail .category-nav button:focus{border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.4);transform:translateY(-1px)}app-restaurant-detail .category-nav button.active{background:var(--brand-green);border-color:var(--brand-green);color:var(--brand-on-primary, #ffffff)}app-restaurant-detail .category-nav button.active:hover,app-restaurant-detail .category-nav button.active:focus{background:rgba(var(--brand-green-rgb, 6, 193, 103),.9);border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.9)}app-restaurant-detail .category-nav button:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.dark-mode app-restaurant-detail .category-nav-surface{border-color:#ffffff26;background:#141414cc;box-shadow:0 12px 36px #0000004d}.dark-mode app-restaurant-detail .category-nav button{border-color:#ffffff1f;background:var(--surface);color:inherit}.dark-mode app-restaurant-detail .category-nav button:hover,.dark-mode app-restaurant-detail .category-nav button:focus{border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.4);transform:translateY(-1px)}.dark-mode app-restaurant-detail .category-nav button.active{background:var(--brand-green);border-color:var(--brand-green);color:var(--brand-on-primary, #ffffff)}.dark-mode app-restaurant-detail .category-nav button.active:hover,.dark-mode app-restaurant-detail .category-nav button.active:focus{background:rgba(var(--brand-green-rgb, 6, 193, 103),.9);border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.9)}.dark-mode app-restaurant-detail .pos-category-nav{background:#141414f2;border-top-color:#ffffff1a}.dark-mode app-restaurant-detail .pos-category-card{background:#ffffff14;border-color:#ffffff26;color:#ffffffe6}.dark-mode app-restaurant-detail .pos-category-card:hover:not(.selected){background:#ffffff1f;border-color:#fff3}.dark-mode app-restaurant-detail .pos-category-card.selected{background:rgba(var(--brand-green-rgb, 6, 193, 103),.2);border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.4);color:var(--brand-green, #06c167)}app-restaurant-detail .menu-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem;scroll-margin-top:clamp(4.5rem,10vh,7rem)}app-restaurant-detail .menu-section:last-child{margin-bottom:0}app-restaurant-detail .pos-category-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(10,10,10,.1);padding:1rem;box-shadow:0 -4px 20px #0a0a0a14}app-restaurant-detail:has(.pos-category-nav) .menu-section:last-child{margin-bottom:8rem}app-restaurant-detail .pos-category-grid{display:flex;gap:.5rem;overflow-x:auto;overflow-y:visible;padding-top:2px;scrollbar-width:thin;scrollbar-color:rgba(10,10,10,.2) transparent;-webkit-overflow-scrolling:touch}app-restaurant-detail .pos-category-grid::-webkit-scrollbar{height:4px}app-restaurant-detail .pos-category-grid::-webkit-scrollbar-track{background:transparent}app-restaurant-detail .pos-category-grid::-webkit-scrollbar-thumb{background:#0a0a0a33;border-radius:2px}app-restaurant-detail .pos-category-grid::-webkit-scrollbar-thumb:hover{background:#0a0a0a4d}app-restaurant-detail .pos-category-card{flex:0 0 calc((100% - 3.5rem)/8);min-width:0;max-width:calc((100% - 3.5rem)/8);aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;border:2px solid rgba(10,10,10,.12);border-radius:.6rem;background:#fffffff2;color:#0a0a0ad9;font-weight:600;font-size:.75rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;padding:.4rem;text-align:center;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2}app-restaurant-detail .pos-category-card:hover,app-restaurant-detail .pos-category-card:focus-visible{background:rgba(var(--brand-green-rgb, 6, 193, 103),.1);border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.4);transform:translateY(-2px);box-shadow:0 4px 12px #0a0a0a1f;outline:none}app-restaurant-detail .pos-category-card:active{transform:translateY(0)}app-restaurant-detail .pos-category-card.selected{background:rgba(var(--brand-green-rgb, 6, 193, 103),.15);border-color:var(--brand-green, #06c167);color:var(--brand-green, #06c167)}app-restaurant-detail .menu-section.pos-hidden{display:none}app-restaurant-detail .menu-section.pos-all-items{margin:.5rem}app-restaurant-detail .pos-menu-content .menu-section:not(.pos-all-items):not(.pos-hidden){margin:.5rem}app-restaurant-detail .pos-menu-layout{display:flex;gap:0;width:100%;height:calc(100vh - var(--pos-header-height, 250px) - var(--modules-header-height, 3.5rem) - var(--cart-switcher-height, 0px));overflow:hidden;position:relative}app-restaurant-detail .pos-menu-content{flex:2;width:66.666%;overflow-y:auto;overflow-x:hidden;padding-bottom:8rem;height:100%;-webkit-overflow-scrolling:touch}app-restaurant-detail .pos-cart-sidebar{flex:1;width:33.333%;max-width:400px;border-left:1px solid rgba(10,10,10,.1);background:#fffffffa;overflow:hidden;height:100%;position:relative;align-self:stretch}app-restaurant-detail .pos-cart-sidebar app-cart-sidebar,app-restaurant-detail .pos-cart-sidebar app-pos-cart{display:block;height:100%;position:static!important;top:auto!important;align-self:stretch!important;z-index:auto!important}app-restaurant-detail .pos-cart-sidebar app-cart-sidebar aside,app-restaurant-detail .pos-cart-sidebar app-pos-cart aside{height:100%;max-height:100%!important;border-radius:0!important;box-shadow:none!important;padding:1.5rem;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}app-restaurant-detail .pos-menu-grid{grid-template-columns:repeat(8,1fr)!important;gap:.1rem}app-restaurant-detail .pos-menu-grid .card{aspect-ratio:1;display:flex;flex-direction:column;padding:.75rem;overflow:hidden;position:relative}app-restaurant-detail .pos-menu-grid .card>*:not(.card-media):not(.pos-card-price){position:relative;z-index:1}app-restaurant-detail .pos-menu-grid .card.pos-clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}app-restaurant-detail .pos-menu-grid .card.pos-clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0a0a0a26}app-restaurant-detail .pos-menu-grid .card.pos-clickable:active{transform:translateY(0)}app-restaurant-detail .pos-menu-grid .card.pos-clickable:focus-visible{outline:2px solid var(--brand-green, #06c167);outline-offset:2px}app-restaurant-detail .pos-menu-grid .card-media{display:none}app-restaurant-detail .pos-menu-grid .pos-card-price{position:absolute;bottom:.5rem;right:.5rem;z-index:2;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.5rem;padding:.35rem .6rem;box-shadow:0 2px 8px #0a0a0a26;border:1px solid rgba(10,10,10,.1)}app-restaurant-detail .pos-menu-grid .pos-card-price .price-group{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}app-restaurant-detail .pos-menu-grid .pos-card-price .price{font-weight:700;font-size:.9rem;color:#0a0a0ae6;line-height:1.2}app-restaurant-detail .pos-menu-grid .pos-card-price .price.discounted{color:var(--brand-green, #06c167)}app-restaurant-detail .pos-menu-grid .pos-card-price .price.original{font-size:.75rem;text-decoration:line-through;color:#0a0a0a80;font-weight:500}@media (max-width: 1600px){app-restaurant-detail .pos-menu-grid{grid-template-columns:repeat(6,1fr)!important}}@media (max-width: 1200px){app-restaurant-detail .pos-menu-grid{grid-template-columns:repeat(4,1fr)!important}}@media (max-width: 900px){app-restaurant-detail .pos-menu-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width: 1200px){app-restaurant-detail .pos-category-card{flex:0 0 calc((100% - 2.5rem) / 6);max-width:calc((100% - 2.5rem) / 6)}}@media (max-width: 900px){app-restaurant-detail .pos-category-card{flex:0 0 calc((100% - 1.5rem)/4);max-width:calc((100% - 1.5rem)/4)}}@media (max-width: 720px){app-restaurant-detail .pos-category-grid{gap:.4rem}app-restaurant-detail .pos-category-card{flex:0 0 calc((100% - 1.2rem)/4);max-width:calc((100% - 1.2rem)/4);font-size:.7rem;padding:.35rem;border-radius:.5rem}app-restaurant-detail .pos-menu-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem}}app-restaurant-detail .modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:5000;padding:1.5rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080}app-restaurant-detail .modal{background:var(--surface, #fff);border-radius:24px;max-width:480px;width:min(100%,480px);padding:clamp(1.75rem,4vw,2.5rem);text-align:center;display:flex;flex-direction:column;gap:1.25rem}app-restaurant-detail .modal.menu-item-modal{max-width:800px;width:min(90vw,800px);max-height:90vh;text-align:left;overflow-y:auto}@media (max-width: 720px){app-restaurant-detail .modal-backdrop{padding:0;align-items:stretch}app-restaurant-detail .modal.menu-item-modal{max-width:100%;width:100%;max-height:100vh;height:100vh;border-radius:0;padding:0;display:flex;flex-direction:column}app-restaurant-detail .menu-item-modal-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:1rem;padding-bottom:calc(1rem + 70px)}app-restaurant-detail .menu-item-modal .modal-actions{position:fixed;left:0;right:0;bottom:0;border-radius:0;padding:.75rem 1rem;margin:0;background:var(--surface, #fff);border-top:1px solid rgba(10,10,10,.08);box-shadow:0 -4px 20px #0f172a14;gap:.75rem;flex-direction:row;align-items:center;justify-content:space-between;display:flex}app-restaurant-detail .menu-item-modal .modal-actions .quantity-controls{align-self:center}app-restaurant-detail .menu-item-modal .modal-actions .modal-button{padding:.65rem 1rem;font-size:.95rem;min-height:auto;position:relative}app-restaurant-detail .menu-item-modal .modal-actions .menu-item-modal-total-price{display:none}app-restaurant-detail .menu-item-modal .modal-actions .modal-button.primary:before{content:attr(data-price);position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.95rem;font-weight:600;line-height:1;white-space:nowrap}app-restaurant-detail .menu-item-modal .modal-actions .modal-button.primary:after{content:"+";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:600;line-height:1}app-restaurant-detail .menu-item-modal .modal-actions .modal-button.primary{font-size:0;padding:0;width:120px;min-width:120px;height:2.7rem;min-height:2.7rem;flex:0 0 auto;box-sizing:border-box;position:relative;align-self:center}app-restaurant-detail .hero{padding:2rem 1.5rem;min-height:240px}app-restaurant-detail .hero-header{align-items:flex-start}app-restaurant-detail .hero-logo{width:56px}app-restaurant-detail .hero-info-button{width:40px;height:40px;top:1.5rem;right:1.5rem}app-restaurant-detail .hero-hours{padding:1rem;gap:.75rem}app-restaurant-detail .menu-grid{grid-template-columns:1fr}}app-restaurant-detail .menu-item-option-entry{display:flex;flex-direction:column;gap:.5rem}app-restaurant-detail .menu-item-option-nested{margin-top:.75rem;padding-left:1.25rem;border-left:2px solid rgba(255,187,0,.2)}app-restaurant-detail .menu-item-option-nested-groups{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}app-restaurant-detail .modal-actions{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border-top:1px solid rgba(10,10,10,.08)}app-restaurant-detail .menu-item-loyalty-toggle{width:100%}app-restaurant-detail .loyalty-toggle-btn{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(var(--brand-green-rgb, 6, 193, 103),.3);background:rgba(var(--brand-green-rgb, 6, 193, 103),.08);color:var(--brand-green);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;display:flex;align-items:center;justify-content:center;gap:.4rem}app-restaurant-detail .loyalty-toggle-btn:hover:not(:disabled){background:rgba(var(--brand-green-rgb, 6, 193, 103),.12);border-color:rgba(var(--brand-green-rgb, 6, 193, 103),.4);transform:translateY(-1px)}app-restaurant-detail .loyalty-toggle-btn.active{background:var(--brand-green);border-color:var(--brand-green);color:var(--brand-on-primary)}app-restaurant-detail .loyalty-toggle-btn.active:hover:not(:disabled){background:rgba(var(--brand-green-rgb, 6, 193, 103),.9);transform:translateY(-1px)}app-restaurant-detail .loyalty-toggle-btn:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .loyalty-toggle-btn:disabled{opacity:.5;cursor:not-allowed}app-restaurant-detail .pos-fullscreen-controls{display:flex;justify-content:flex-end;margin-bottom:1.5rem;padding:0 .5rem}app-restaurant-detail .pos-fullscreen-button{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:.85rem;border:1px solid rgba(10,10,10,.14);background:var(--surface, #fff);color:#0a0a0ac7;font-weight:600;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease}app-restaurant-detail .pos-fullscreen-button:hover:not(:disabled),app-restaurant-detail .pos-fullscreen-button:focus-visible:not(:disabled){background:#0a0a0a0d;outline:none}app-restaurant-detail .pos-fullscreen-button:disabled{opacity:.55;cursor:not-allowed}app-restaurant-detail .pos-fullscreen-button.active{background:#0a0a0ad1;border-color:#0a0a0ad1;color:#fff}app-restaurant-detail .pos-fullscreen-icon{display:inline-flex}app-restaurant-detail .pos-fullscreen-icon svg{width:1.15rem;height:1.15rem}app-cart-sidebar{display:block;position:sticky;top:var(--cart-sticky-offset, 2rem);align-self:start;z-index:var(--cart-sticky-z, 4000);width:100%;min-width:0;max-width:100%}app-cart-sidebar aside{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:1.75rem 1.75rem 2rem;display:flex;flex-direction:column;gap:1.5rem;max-height:calc(100vh - var(--cart-sticky-offset, 2rem));overflow-y:auto;scrollbar-gutter:stable;width:100%;min-width:0;max-width:100%;box-sizing:border-box}app-cart-sidebar .cart-restaurant{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border-pill);background:var(--surface-pill);color:var(--text-pill);font-weight:600}app-cart-sidebar .cart-restaurant-label{font-size:.75rem;text-transform:uppercase;color:inherit}app-cart-sidebar .cart-restaurant-name{font-size:1rem;color:inherit}app-cart-sidebar .order-settings{display:flex;flex-direction:column;gap:1rem}app-cart-sidebar .group-order-field{border:1px solid var(--border-soft);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}app-cart-sidebar .group-order-hint{margin:0;font-size:.85rem;color:var(--text-secondary)}app-cart-sidebar .group-order-select label{display:block;margin-bottom:.4rem;font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}app-cart-sidebar .group-order-select select{width:100%;padding:.6rem .75rem;border-radius:10px;border:1px solid var(--border-soft);font-size:.9rem;background:var(--surface)}app-cart-sidebar .group-order-details{display:flex;flex-direction:column;gap:.5rem}app-cart-sidebar .group-order-name{font-weight:600;font-size:1rem;color:var(--text-primary)}app-cart-sidebar .group-order-meta{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.35rem 1rem}app-cart-sidebar .group-order-meta dt{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin:0}app-cart-sidebar .group-order-meta dd{margin:0;font-size:.9rem;color:var(--text-primary)}app-cart-sidebar .group-order-target-line{font-size:.9rem;color:var(--text-primary)}app-cart-sidebar .group-order-cutoff{margin-top:.5rem;padding:.65rem .75rem;border-left:4px solid #dc3545;background:#dc354524;color:#821621;font-weight:700}app-cart-sidebar .group-order-notice{margin:0;font-size:.8rem;color:#0a0a0ab3}app-cart-sidebar .group-order-missing{margin:0;font-size:.85rem;color:#b85c00;padding:.45rem .6rem;border-radius:10px}app-cart-sidebar .field{display:flex;flex-direction:column;gap:.5rem}app-cart-sidebar .field-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}app-cart-sidebar .delivery-address-summary{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-primary)}app-cart-sidebar .delivery-address-note{margin:0;font-size:.85rem;color:var(--text-secondary)}app-cart-sidebar .option-group{display:flex;flex-wrap:wrap;gap:.5rem}app-cart-sidebar .option{border:1px solid var(--border-soft);background:var(--surface);border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;display:inline-flex;align-items:center;gap:.45rem;line-height:1.1}app-cart-sidebar .option-icon{display:inline-flex;align-items:center;justify-content:center}app-cart-sidebar .option svg{width:18px;height:18px;flex-shrink:0}app-cart-sidebar .option-label{white-space:nowrap}app-cart-sidebar .option:hover{border-color:var(--brand-green);color:var(--brand-green)}app-cart-sidebar .option.active{background:var(--surface-pill);border-color:var(--border-pill);color:var(--brand-green)}app-cart-sidebar .option.active:hover{border-color:var(--brand-green)}app-cart-sidebar .option[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}app-cart-sidebar .timeslot-picker{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}app-cart-sidebar .timeslot-status{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}app-cart-sidebar .timeslot-status.error{color:#b85c00}app-cart-sidebar .timeslot-retry{border:1px solid var(--border-soft);background:transparent;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .2s ease,color .2s ease}app-cart-sidebar .timeslot-retry:hover{border-color:var(--brand-green);color:var(--brand-green)}app-cart-sidebar .timeslot-days{display:flex;flex-wrap:wrap;gap:.5rem}app-cart-sidebar .timeslot-day{border:1px solid var(--border-soft);background:var(--surface);border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}app-cart-sidebar .timeslot-day:hover{border-color:var(--brand-green);color:var(--brand-green)}app-cart-sidebar .timeslot-day.active{background:var(--surface-pill);border-color:var(--border-pill);color:var(--brand-green)}app-cart-sidebar .timeslot-options{display:flex;flex-wrap:wrap;gap:.5rem}app-cart-sidebar .timeslot-option{display:inline-flex;flex-direction:column;align-items:stretch;gap:.35rem;min-width:5.5rem;border:1px solid var(--border-soft);border-radius:10px;padding:.45rem .75rem;background:var(--surface);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}app-cart-sidebar .timeslot-option:disabled{opacity:.5;cursor:not-allowed}app-cart-sidebar .timeslot-option-label{display:block;width:100%}app-cart-sidebar .timeslot-option-progress{display:block;width:100%;height:.35rem;background:var(--border-soft);border-radius:999px;overflow:hidden}app-cart-sidebar .timeslot-option-capacity{display:inline-flex;align-items:baseline;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--text-tertiary, var(--text-secondary))}app-cart-sidebar .timeslot-option-capacity-used,app-cart-sidebar .timeslot-option-capacity-max{font-weight:600;color:var(--text-secondary)}app-cart-sidebar .timeslot-option-progress-bar{display:block;height:100%;width:0;border-radius:inherit;background:var(--brand-green);transition:width .2s ease}app-cart-sidebar .timeslot-option:hover{border-color:var(--brand-green);color:var(--brand-green)}app-cart-sidebar .timeslot-option:disabled:hover{border-color:var(--border-soft);color:var(--text-tertiary, var(--text-secondary))}app-cart-sidebar .timeslot-option.active{background:var(--surface-pill);border-color:var(--border-pill);color:var(--brand-green)}app-cart-sidebar .timeslot-option.active .timeslot-option-progress{background:color-mix(in srgb,var(--brand-green) 35%,var(--surface-pill))}app-cart-sidebar .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}app-cart-sidebar .help-text{font-size:.8rem;color:#b85c00;padding:.4rem .6rem;border-radius:10px}app-cart-sidebar header{display:flex;align-items:center;justify-content:space-between}app-cart-sidebar h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-pill)}app-cart-sidebar .badge{padding:.25rem .75rem;border-radius:999px;background:var(--surface-pill);border:1px solid var(--border-pill);color:var(--text-pill);font-size:.8rem;font-weight:600}app-cart-sidebar .cart-lines{display:flex;flex-direction:column;gap:1rem}app-cart-sidebar .line{display:flex;justify-content:space-between;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-soft)}app-cart-sidebar .line:last-child{border-bottom:0;padding-bottom:0}app-cart-sidebar .line-name{font-weight:600;color:var(--text-primary);display:flex;flex-direction:column;gap:.25rem}app-cart-sidebar .line-variant{font-size:.85rem;font-weight:500;color:var(--text-secondary);font-style:italic}app-cart-sidebar .loyalty-purchase-indicator{display:flex;flex-direction:column;gap:.5rem}app-cart-sidebar .loyalty-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;background:rgba(var(--brand-green-rgb, 6, 193, 103),.12);color:var(--brand-green);font-size:.85rem;font-weight:600;border:1px solid rgba(var(--brand-green-rgb, 6, 193, 103),.2)}app-cart-sidebar .line-loyalty-toggle{margin-top:.5rem}app-cart-sidebar .loyalty-toggle-btn{appearance:none;border:1px solid rgba(var(--brand-green-rgb, 6, 193, 103),.3);background:transparent;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--brand-green);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}app-cart-sidebar .loyalty-toggle-btn:hover{background:rgba(var(--brand-green-rgb, 6, 193, 103),.08);border-color:var(--brand-green)}app-cart-sidebar .loyalty-toggle-btn.active{background:rgba(var(--brand-green-rgb, 6, 193, 103),.15);border-color:var(--brand-green)}app-cart-sidebar .loyalty-points-summary{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}app-cart-sidebar .line-category{font-size:.75rem;color:var(--text-secondary);margin-top:.15rem}app-cart-sidebar .line-options{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}app-cart-sidebar .line-option-group{display:flex;flex-direction:column;gap:.35rem}app-cart-sidebar .line-option-title{font-size:.8rem;font-weight:600;color:var(--text-secondary)}app-cart-sidebar .line-option-items{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}app-cart-sidebar .line-option-item{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-secondary)}app-cart-sidebar .line-option-item-row{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}app-cart-sidebar .line-option-item-price{white-space:nowrap;font-weight:500;color:#101812b3}app-cart-sidebar .line-option-nested{padding-left:1rem;border-left:2px solid rgba(6,193,103,.2);display:flex;flex-direction:column;gap:.35rem}app-cart-sidebar .line-option-group.nested .line-option-title{font-size:.75rem}app-cart-sidebar .line-option-items.nested{margin-top:.25rem;gap:.2rem}app-cart-sidebar .line-remark{margin-top:.65rem;display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:#0a0a0ab3}app-cart-sidebar .line-remark span{font-weight:500}app-cart-sidebar .line-remark textarea{width:100%;resize:vertical;min-height:2.5rem;padding:.55rem .75rem;border-radius:.65rem;border:1px solid var(--border-soft, rgba(10, 10, 10, .12));background:var(--surface, #fff);font:inherit;color:inherit;transition:border-color .16s ease,box-shadow .16s ease}app-cart-sidebar .line-remark textarea::placeholder{color:#0a0a0a66}app-cart-sidebar .line-remark textarea:focus{outline:none}app-cart-sidebar .line-price{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;font-size:.85rem;color:var(--text-secondary)}app-cart-sidebar .line-price .current{font-weight:700;color:var(--text-primary);font-size:.95rem}app-cart-sidebar .line-price .original{text-decoration:line-through;font-size:.75rem}app-cart-sidebar .line-price .discount-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-green);border-radius:999px;padding:.1rem .4rem}app-cart-sidebar .qty-controls{display:flex;align-items:center;gap:.4rem}app-cart-sidebar .qty-btn{border:0;color:var(--text-secondary);background:transparent;border-radius:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;transition:background .2s ease,color .2s ease}app-cart-sidebar .qty-btn:hover:not(:disabled){color:var(--brand-green)}app-cart-sidebar .qty-btn:disabled{opacity:.5;cursor:not-allowed}app-cart-sidebar .qty-display{min-width:1.5rem;text-align:center;font-weight:600;color:var(--text-primary)}app-cart-sidebar button.remove{border:0;color:var(--text-secondary);border-radius:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}app-cart-sidebar button.remove svg{width:16px;height:16px;display:block;flex-shrink:0}app-cart-sidebar .qty-controls button.remove{margin-left:.2rem}app-cart-sidebar button.remove:hover{color:var(--brand-green)}app-cart-sidebar .empty-state{background:var(--surface-elevated);border-radius:var(--radius-card);padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.9rem}app-cart-sidebar .summary{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:1.05rem}app-cart-sidebar .checkout{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-green);color:var(--brand-on-primary);border:0;border-radius:14px;padding:.85rem 1rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}app-cart-sidebar .checkout:hover{transform:translatey(-1px)}app-cart-sidebar .checkout.disabled{pointer-events:none;opacity:.5;box-shadow:none;cursor:not-allowed}@media (max-width: 980px){app-cart-sidebar{position:static}app-cart-sidebar aside{min-width:unset;max-height:none;overflow:visible}}app-admin-recent-orders section.card{background:var(--surface);border-radius:var(--radius-card);padding:2rem clamp(1.5rem,3vw,2.5rem);box-shadow:var(--shadow-soft);border:1px solid rgba(10,10,10,.05);display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,1.75rem)}app-admin-recent-orders .layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1.25rem,3vw,2rem);align-items:flex-start}app-admin-recent-orders .filters{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:.9rem;border:1px solid var(--border-soft);background:#0a0a0a0a}app-admin-recent-orders .filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem}app-admin-recent-orders .filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-secondary)}app-admin-recent-orders .filters label span{font-weight:600;color:var(--text-primary, inherit)}app-admin-recent-orders .filters input,app-admin-recent-orders .filters select{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--border-soft);font:inherit;background:var(--surface);color:inherit}app-admin-recent-orders .filters input:focus,app-admin-recent-orders .filters select:focus{outline:none}app-admin-recent-orders .filters-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}app-admin-recent-orders .filters button[type=button]{padding:.5rem .9rem;border-radius:999px;color:var(--brand-green, #06c167);cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}app-admin-recent-orders .filters button[type=button]:hover,app-admin-recent-orders .filters button[type=button]:focus-visible{outline:none}app-admin-recent-orders .orders-panel,app-admin-recent-orders .details-panel{display:flex;flex-direction:column;gap:1rem;position:sticky;top:clamp(1rem,4vw,2rem);align-self:flex-start;overflow-y:auto;padding-right:.25rem}app-admin-recent-orders .orders-list{display:flex;flex-direction:column;gap:.75rem}app-admin-recent-orders .empty-orders{display:grid;place-items:center;padding:1.5rem;border-radius:.9rem;border:1px dashed var(--border-soft);color:var(--text-secondary);background:#0a0a0a05;text-align:center}app-admin-recent-orders .group-orders-panel{display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.5rem)}app-admin-recent-orders .group-order-card{width:100%}app-admin-recent-orders .order-card{appearance:none;border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;text-align:left;cursor:pointer;--order-card-gradient-start: rgba(15, 23, 42, .08);--order-card-gradient-end: rgba(15, 23, 42, .02);--order-card-border: rgba(15, 23, 42, .12);--order-card-shadow: 0 18px 30px rgba(15, 23, 42, .08);--order-card-hover-shadow: 0 22px 36px rgba(15, 23, 42, .12);--order-card-selected-gradient-start: rgba(15, 23, 42, .12);--order-card-selected-gradient-end: rgba(15, 23, 42, .04);--order-card-selected-border: rgba(15, 23, 42, .2);--order-card-selected-shadow: 0 26px 45px rgba(15, 23, 42, .16);--order-status-bg: rgba(15, 23, 42, .08);--order-status-border: rgba(15, 23, 42, .14);--order-status-color: rgba(15, 23, 42, .7);background:linear-gradient(135deg,var(--order-card-gradient-start),var(--order-card-gradient-end)),var(--surface);border:1px solid var(--order-card-border);box-shadow:var(--order-card-shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}app-admin-recent-orders .order-card:hover,app-admin-recent-orders .order-card:focus-visible{transform:translatey(-2px);outline:none;box-shadow:var(--order-card-hover-shadow)}app-admin-recent-orders .order-card.selected,app-admin-recent-orders .order-card:focus-visible{background:linear-gradient(140deg,var(--order-card-selected-gradient-start),var(--order-card-selected-gradient-end)),var(--surface);border-color:var(--order-card-selected-border);box-shadow:var(--order-card-selected-shadow)}app-admin-recent-orders .order-card.order-card--static{cursor:default;box-shadow:none;border-color:var(--order-card-border)}app-admin-recent-orders .order-card.order-card--static:hover{transform:none}app-admin-recent-orders .order-card header{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-weight:600}app-admin-recent-orders .meta{color:var(--text-secondary);font-size:.9rem}app-admin-recent-orders .order-card .remark{border-radius:.75rem;padding:.5rem .75rem;font-size:.9rem;line-height:1.4;color:var(--text-primary)}app-admin-recent-orders .status-current{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.35rem .85rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--order-status-bg);border:1px solid var(--order-status-border);color:var(--order-status-color);align-self:flex-start}app-admin-recent-orders .order-card.status-composing,app-admin-recent-orders .order-card.status-created,app-admin-recent-orders .order-card.status-new,app-admin-recent-orders .order-card.status-pending,app-admin-recent-orders .order-card.status-queued,app-admin-recent-orders .order-card.status-sent,app-admin-recent-orders .order-card.status-awaiting-payment,app-admin-recent-orders .order-card.status-awaiting_confirmation,app-admin-recent-orders .order-card.status-awaiting-confirmation{--order-card-gradient-start: rgba(9, 155, 255, .18);--order-card-gradient-end: rgba(9, 155, 255, .06);--order-card-border: rgba(9, 155, 255, .32);--order-card-shadow: 0 18px 30px rgba(9, 155, 255, .14);--order-card-hover-shadow: 0 22px 36px rgba(9, 155, 255, .2);--order-card-selected-gradient-start: rgba(9, 155, 255, .24);--order-card-selected-gradient-end: rgba(9, 155, 255, .1);--order-card-selected-border: rgba(9, 155, 255, .45);--order-card-selected-shadow: 0 26px 45px rgba(9, 155, 255, .24);--order-status-bg: rgba(9, 155, 255, .16);--order-status-border: rgba(9, 155, 255, .45);--order-status-color: #044084}app-admin-recent-orders .order-card.status-received,app-admin-recent-orders .order-card.status-accepted,app-admin-recent-orders .order-card.status-acknowledged,app-admin-recent-orders .order-card.status-confirmed,app-admin-recent-orders .order-card.status-printed,app-admin-recent-orders .order-card.status-preparing,app-admin-recent-orders .order-card.status-in-progress,app-admin-recent-orders .order-card.status-in_progress,app-admin-recent-orders .order-card.status-cooking{--order-card-gradient-start: rgba(245, 158, 11, .18);--order-card-gradient-end: rgba(245, 158, 11, .06);--order-card-border: rgba(245, 158, 11, .35);--order-card-shadow: 0 18px 30px rgba(245, 158, 11, .14);--order-card-hover-shadow: 0 22px 36px rgba(245, 158, 11, .2);--order-card-selected-gradient-start: rgba(245, 158, 11, .26);--order-card-selected-gradient-end: rgba(245, 158, 11, .1);--order-card-selected-border: rgba(245, 158, 11, .45);--order-card-selected-shadow: 0 26px 45px rgba(245, 158, 11, .24);--order-status-bg: rgba(245, 158, 11, .18);--order-status-border: rgba(245, 158, 11, .45);--order-status-color: #92400e}app-admin-recent-orders .order-card.status-prepared,app-admin-recent-orders .order-card.status-ready,app-admin-recent-orders .order-card.status-ready-for-pickup,app-admin-recent-orders .order-card.status-ready_for_pickup,app-admin-recent-orders .order-card.status-ready-for-collection,app-admin-recent-orders .order-card.status-ready_for_collection,app-admin-recent-orders .order-card.status-packaged{--order-card-gradient-start: rgba(22, 163, 74, .18);--order-card-gradient-end: rgba(22, 163, 74, .06);--order-card-border: rgba(22, 163, 74, .35);--order-card-shadow: 0 18px 30px rgba(22, 163, 74, .15);--order-card-hover-shadow: 0 22px 36px rgba(22, 163, 74, .2);--order-card-selected-gradient-start: rgba(22, 163, 74, .26);--order-card-selected-gradient-end: rgba(22, 163, 74, .1);--order-card-selected-border: rgba(22, 163, 74, .45);--order-card-selected-shadow: 0 26px 45px rgba(22, 163, 74, .24);--order-status-bg: rgba(22, 163, 74, .2);--order-status-border: rgba(22, 163, 74, .45);--order-status-color: #166534}app-admin-recent-orders .order-card.status-distributed,app-admin-recent-orders .order-card.status-delivered,app-admin-recent-orders .order-card.status-out-for-delivery,app-admin-recent-orders .order-card.status-out_for_delivery,app-admin-recent-orders .order-card.status-driver-assigned,app-admin-recent-orders .order-card.status-driver_assigned{--order-card-gradient-start: rgba(13, 148, 136, .18);--order-card-gradient-end: rgba(13, 148, 136, .06);--order-card-border: rgba(13, 148, 136, .32);--order-card-shadow: 0 18px 30px rgba(13, 148, 136, .14);--order-card-hover-shadow: 0 22px 36px rgba(13, 148, 136, .2);--order-card-selected-gradient-start: rgba(13, 148, 136, .25);--order-card-selected-gradient-end: rgba(13, 148, 136, .1);--order-card-selected-border: rgba(13, 148, 136, .45);--order-card-selected-shadow: 0 26px 45px rgba(13, 148, 136, .24);--order-status-bg: rgba(13, 148, 136, .18);--order-status-border: rgba(13, 148, 136, .45);--order-status-color: #0f766e}app-admin-recent-orders .order-card.status-completed,app-admin-recent-orders .order-card.status-finished,app-admin-recent-orders .order-card.status-closed{--order-card-gradient-start: rgba(124, 58, 237, .2);--order-card-gradient-end: rgba(124, 58, 237, .08);--order-card-border: rgba(124, 58, 237, .35);--order-card-shadow: 0 18px 30px rgba(124, 58, 237, .14);--order-card-hover-shadow: 0 22px 36px rgba(124, 58, 237, .2);--order-card-selected-gradient-start: rgba(124, 58, 237, .28);--order-card-selected-gradient-end: rgba(124, 58, 237, .1);--order-card-selected-border: rgba(124, 58, 237, .45);--order-card-selected-shadow: 0 26px 45px rgba(124, 58, 237, .25);--order-status-bg: rgba(124, 58, 237, .2);--order-status-border: rgba(124, 58, 237, .45);--order-status-color: #5b21b6}app-admin-recent-orders .order-card.status-cancelled,app-admin-recent-orders .order-card.status-canceled,app-admin-recent-orders .order-card.status-rejected,app-admin-recent-orders .order-card.status-failed,app-admin-recent-orders .order-card.status-refunded,app-admin-recent-orders .order-card.status-voided{--order-card-gradient-start: rgba(220, 38, 38, .16);--order-card-gradient-end: rgba(220, 38, 38, .06);--order-card-border: rgba(220, 38, 38, .32);--order-card-shadow: 0 18px 30px rgba(220, 38, 38, .12);--order-card-hover-shadow: 0 22px 36px rgba(220, 38, 38, .18);--order-card-selected-gradient-start: rgba(220, 38, 38, .24);--order-card-selected-gradient-end: rgba(220, 38, 38, .08);--order-card-selected-border: rgba(220, 38, 38, .45);--order-card-selected-shadow: 0 26px 45px rgba(220, 38, 38, .22);--order-status-bg: rgba(220, 38, 38, .16);--order-status-border: rgba(220, 38, 38, .45);--order-status-color: #b42318}app-admin-recent-orders .group-order-status{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-pill);border:1px solid var(--border-pill);color:var(--text-pill);transition:background-color .15s ease,border-color .15s ease,color .15s ease}app-admin-recent-orders .group-order-status.inactive{background:#0f172a12;border-color:#0f172a1f;color:#0f172aa6}app-admin-recent-orders .status-timeline{list-style:none;margin:clamp(.75rem,2vw,1rem) 0 0;padding:0;display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem)}app-admin-recent-orders .status-timeline-horizontal{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin:0}app-admin-recent-orders .status-section{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}app-admin-recent-orders .status-timeline-horizontal .status-timeline-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;flex:0 0 auto;transition:opacity .3s ease,transform .3s ease}app-admin-recent-orders .status-timeline-horizontal .status-timeline-step.completed{opacity:1}app-admin-recent-orders .status-timeline-horizontal .status-timeline-step.current{animation:statusPulse .6s ease-in-out}@keyframes statusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}app-admin-recent-orders .status-timeline-horizontal .status-dot{transition:background-color .4s ease,border-color .4s ease,box-shadow .4s ease,transform .3s ease}app-admin-recent-orders .status-timeline-horizontal .status-connector{transition:background-color .4s ease}app-admin-recent-orders .status-timeline-horizontal .status-label{transition:color .4s ease}app-admin-recent-orders .status-timeline-horizontal .status-marker{position:relative;display:flex;justify-content:center;align-items:center;width:100%;min-height:1rem}app-admin-recent-orders .status-timeline-horizontal .status-connector{position:absolute;left:100%;top:50%;width:1rem;height:2px;transform:translateY(-50%);background:var(--border-soft);transition:background-color .15s ease}app-admin-recent-orders .status-timeline-horizontal .status-label{font-size:.75rem;white-space:nowrap;text-align:center}app-admin-recent-orders .status-timeline-step{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:flex-start;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-secondary)}app-admin-recent-orders .status-marker{position:relative;display:flex;justify-content:center;width:1rem;min-height:1rem}app-admin-recent-orders .status-dot{width:.75rem;height:.75rem;border-radius:50%;border:2px solid var(--border-soft);background:var(--surface);box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}app-admin-recent-orders .status-connector{position:absolute;left:50%;top:.75rem;width:2px;transform:translate(-50%);background:var(--border-soft);transition:background-color .15s ease}app-admin-recent-orders .status-label{display:block;line-height:1.2}app-admin-recent-orders .status-timeline-step.completed .status-label{color:var(--text-primary)}app-admin-recent-orders .status-timeline-step.current .status-dot{background:var(--brand-green, #06c167)}app-admin-recent-orders .status-timeline-step.current .status-label{color:var(--brand-green, #06c167)}app-admin-recent-orders .advance-status-button{border:none;border-radius:999px;padding:.45rem .85rem;font-weight:600;background:var(--brand-green, #06c167);color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}app-admin-recent-orders .advance-status-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}app-admin-recent-orders .advance-status-button:not(:disabled):hover,app-admin-recent-orders .advance-status-button:not(:disabled):focus-visible{transform:translatey(-1px);outline:none}app-admin-recent-orders .advance-status-button small{font-weight:500;opacity:.85}app-admin-recent-orders .full-refund-button{align-self:flex-start;border:none;border-radius:999px;padding:.45rem .85rem;font-weight:600;background:#dc2626;color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem}app-admin-recent-orders .full-refund-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}app-admin-recent-orders .full-refund-button:not(:disabled):hover,app-admin-recent-orders .full-refund-button:not(:disabled):focus-visible{transform:translatey(-1px);outline:none;background:#b91c1c}app-admin-recent-orders .details-card{background:var(--surface);border-radius:var(--radius-card);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-soft);border:1px solid rgba(10,10,10,.05);display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.5rem)}app-admin-recent-orders .order-messages-section{margin-top:clamp(1rem,2.5vw,1.5rem)}app-admin-recent-orders .modal-tabs{margin-top:1.5rem;display:flex;gap:.5rem;border-bottom:1px solid var(--border-soft)}app-admin-recent-orders .modal-tab{border:none;background:none;padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease}app-admin-recent-orders .modal-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-green)}app-admin-recent-orders .modal-tab:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-admin-recent-orders .modal-tabpanel{padding-top:1.5rem}app-admin-recent-orders .details-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}app-admin-recent-orders .details-card h2{font-size:clamp(1.75rem,3vw,2.4rem);font-weight:700;margin:0}app-admin-recent-orders .status-message-logs{padding:clamp(1rem,2vw,1.25rem);border-radius:var(--radius-card);border:1px solid rgba(10,10,10,.06);background:#0a0a0a08;display:flex;flex-direction:column;gap:.75rem}app-admin-recent-orders .status-message-logs h3{margin:0;font-size:clamp(1.1rem,2.5vw,1.3rem);font-weight:600;color:var(--text-primary)}app-admin-recent-orders .status-message-logs-state{margin:0;font-size:.9rem;color:var(--text-secondary)}app-admin-recent-orders .status-message-logs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}app-admin-recent-orders .status-message-log{border-radius:.85rem;border:1px solid rgba(10,10,10,.08);background:var(--surface);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.6rem}app-admin-recent-orders .status-message-log-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}app-admin-recent-orders .status-message-log-status{font-weight:600;color:var(--text-primary)}app-admin-recent-orders .status-message-log-channel{font-size:.85rem;font-weight:600;color:var(--brand-green, #06c167)}app-admin-recent-orders .status-message-log-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.85rem;color:var(--text-secondary)}app-admin-recent-orders .status-message-log-meta strong{color:var(--text-primary);font-weight:600}app-admin-recent-orders .status-message-log-message{font-size:.95rem;line-height:1.45;color:var(--text-primary);word-break:break-word;overflow-wrap:break-word}app-admin-recent-orders .status-message-log-error{background:#dc262614;border-radius:.6rem;padding:.6rem .75rem;font-size:.85rem;color:#b91c1cf2}app-admin-recent-orders .status-message-log-error strong{display:block;font-weight:700;margin-bottom:.25rem}app-admin-recent-orders .conversation-messages{padding:clamp(1rem,2vw,1.25rem);border-radius:var(--radius-card);border:1px solid rgba(10,10,10,.06);background:#0a0a0a08;display:flex;flex-direction:column;gap:.75rem}app-admin-recent-orders .conversation-messages h3{margin:0;font-size:clamp(1.1rem,2.5vw,1.3rem);font-weight:600;color:var(--text-primary)}app-admin-recent-orders .conversation-messages-state{margin:0;font-size:.9rem;color:var(--text-secondary)}app-admin-recent-orders .conversation-messages-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}app-admin-recent-orders .conversation-message{border-radius:.9rem;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1px solid rgba(10,10,10,.08);transition:border-color .15s ease,background-color .15s ease}app-admin-recent-orders .conversation-message.message-from-user{background:#099bff0f;border-color:#099bff33}app-admin-recent-orders .conversation-message.message-from-restaurant{background:#16a34a0f;border-color:#16a34a33}app-admin-recent-orders .conversation-message-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}app-admin-recent-orders .conversation-message-sender{font-size:.85rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}app-admin-recent-orders .conversation-message.message-from-user .conversation-message-sender{color:#044084}app-admin-recent-orders .conversation-message.message-from-restaurant .conversation-message-sender{color:#166534}app-admin-recent-orders .message-type-badge{display:inline-block;margin-left:.5rem;padding:.15rem .4rem;border-radius:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#0a0a0a14;color:var(--text-secondary)}app-admin-recent-orders .conversation-message-meta{margin-top:.5rem;font-size:.8rem;color:var(--text-secondary)}app-admin-recent-orders .conversation-message-meta small{font-size:.75rem}app-admin-recent-orders .payment-info{padding:clamp(1rem,2vw,1.25rem);border-radius:var(--radius-card);border:1px solid rgba(10,10,10,.06);background:#0a0a0a08;display:flex;flex-direction:column;gap:.75rem}app-admin-recent-orders .payment-info-placeholder{margin:0;font-size:.95rem;color:var(--text-secondary);text-align:center;padding:2rem 1rem}app-admin-recent-orders .conversation-message-time{font-size:.8rem;color:var(--text-secondary)}app-admin-recent-orders .conversation-message-content{font-size:.95rem;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}app-admin-recent-orders .conversation-reply-form{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-soft)}app-admin-recent-orders .conversation-reply-form form{display:flex;flex-direction:column;gap:1rem}app-admin-recent-orders .reply-form-group{display:flex;flex-direction:column;gap:.5rem}app-admin-recent-orders .reply-form-group label{font-size:.9rem;font-weight:600;color:var(--text-primary)}app-admin-recent-orders .reply-form-group label span{display:block}app-admin-recent-orders .reply-form-group textarea{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid var(--border-soft);font:inherit;font-size:.95rem;background:var(--surface);color:var(--text-primary);resize:vertical;min-height:80px;line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}app-admin-recent-orders .reply-form-group textarea:focus{outline:none;border-color:var(--brand-green, #06c167);box-shadow:0 0 0 3px #06c1671a}app-admin-recent-orders .reply-form-group textarea:disabled{opacity:.6;cursor:not-allowed;background:#0a0a0a05}app-admin-recent-orders .reply-form-group textarea::placeholder{color:var(--text-secondary);opacity:.6}app-admin-recent-orders .reply-form-actions{display:flex;justify-content:flex-end;gap:.75rem}app-admin-recent-orders .reply-form-actions button{padding:.65rem 1.5rem;border-radius:.75rem;border:none;font:inherit;font-size:.95rem;font-weight:600;background:var(--brand-green, #06c167);color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,opacity .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}app-admin-recent-orders .reply-form-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #06c1674d;background:#05a85a}app-admin-recent-orders .reply-form-actions button:active:not(:disabled){transform:translateY(0)}app-admin-recent-orders .reply-form-actions button:focus-visible{outline:2px solid var(--brand-green, #06c167);outline-offset:2px}app-admin-recent-orders .reply-form-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}app-admin-recent-orders .items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}app-admin-recent-orders .items-list li{display:flex;flex-direction:column;gap:.45rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-soft)}app-admin-recent-orders .items-list li:last-child{border-bottom:0;padding-bottom:0}app-admin-recent-orders .items-list .item-line{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}app-admin-recent-orders .items-list .item-options{list-style:none;padding:0;margin:0;margin-left:1.25rem;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-secondary)}app-admin-recent-orders .items-list .item-option{display:flex;align-items:baseline;gap:.35rem}app-admin-recent-orders .items-list .item-option-title{font-weight:600;color:var(--text-primary)}app-admin-recent-orders .items-list .item-option-values{color:var(--text-secondary)}app-admin-recent-orders .items-list .item-options-debug{margin-top:.5rem;padding:.5rem .75rem;background:#f59e0b1a;border-radius:.5rem;font-size:.8rem;color:#b45309e6}app-admin-recent-orders .items-list .item-remark{background:#0a0a0a0a;border-radius:.6rem;padding:.5rem .75rem;font-size:.85rem;color:var(--text-secondary);line-height:1.4}app-admin-recent-orders .order-details-content{display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.5rem)}app-admin-recent-orders .order-details-content .order-remark{border-radius:1rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.45rem}app-admin-recent-orders .order-remark h3{margin:0;font-size:1rem}app-admin-recent-orders .order-remark p{margin:0;font-size:.95rem;line-height:1.45;color:var(--text-primary)}app-admin-recent-orders .total{display:flex;justify-content:space-between;font-weight:700;font-size:1.05rem}app-admin-recent-orders .empty-details{display:grid;place-items:center;text-align:center;color:var(--text-secondary);border:1px dashed var(--border-soft);border-radius:var(--radius-card);padding:clamp(2rem,4vw,3rem);background:#0a0a0a05}@media (max-width: 960px){app-admin-recent-orders .layout{grid-template-columns:1fr}app-admin-recent-orders .orders-panel{order:2}app-admin-recent-orders .details-panel{order:1;position:static;max-height:none;overflow:visible;padding-right:0}app-admin-recent-orders .details-card-header{flex-direction:column;align-items:flex-start}app-admin-recent-orders .advance-status-button{width:100%;justify-content:center}}:root{--brand-green: #ffbb00;--brand-green-rgb: 255, 187, 0;--brand-on-primary: #0a0a0a;--brand-black: #0a0a0a;--text-primary: #1f1f1f;--text-secondary: #5f5f5f;--surface: #ffffff;--surface-elevated: #f7f7f7;--border-soft: #e6e6e6;--surface-pill: rgba(var(--brand-green-rgb, 255, 187, 0), .12);--surface-pill-strong: rgba(var(--brand-green-rgb, 255, 187, 0), .2);--border-pill: rgba(var(--brand-green-rgb, 255, 187, 0), .38);--text-pill: color-mix(in srgb, var(--brand-green, #ffbb00) 70%, var(--brand-black, #0a0a0a) 30%);--radius-card: 18px;--shadow-soft: 0 18px 45px rgba(15, 23, 42, .08);--font-family: "Uber Move Text", "Uber Move", "Helvetica Neue", Arial, sans-serif;--navbar-height: calc(4.5rem + env(safe-area-inset-top, 0px)) ;--cart-sticky-offset: calc(var(--navbar-height) + 1.5rem);font-family:var(--font-family);--ion-color-primary: #ffbb00;--ion-color-primary-rgb: 255, 187, 0;--ion-color-primary-contrast: #0a0a0a;--ion-color-primary-contrast-rgb: 10, 10, 10;--ion-color-primary-shade: #e0a500;--ion-color-primary-tint: #ffc21a;--ion-toolbar-background: #fff;--ion-toolbar-color: #000;--ion-header-background: #fff;--ion-header-color: #000;--ion-footer-background: #fff;--ion-footer-color: #000}.dark-mode{--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .7);--surface: #141414;--surface-elevated: #1a1a1a;--border-soft: rgba(255, 255, 255, .1);--brand-black: rgba(255, 255, 255, .95)}ion-header{--background: #fff;--color: #000;background:#fff;color:#000}ion-header ion-toolbar{--background: #fff;--color: #000;background:#fff;color:#000}ion-footer{--background: #fff;--color: #000;background:#fff;color:#000}ion-footer ion-toolbar{--background: #fff;--color: #000;background:#fff;color:#000}ion-title{--color: #000;color:#000}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fefefe,#f6f6f6 40%,#f3f3f3);color:var(--text-primary);font-family:var(--font-family, "Uber Move Text", "Uber Move", "Helvetica Neue", Arial, sans-serif);letter-spacing:-.01em;transition:background-color .2s ease,color .2s ease}.dark-mode body{background:linear-gradient(180deg,#0a0a0a,#141414 40%,#1a1a1a)}.template-variable-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:999px;font-size:.85rem;font-weight:600;background:var(--surface-pill);color:var(--text-pill);border:1px solid var(--border-pill);white-space:nowrap;margin:0 .15rem}.template-variable-pill:first-child{margin-inline-start:0}.template-variable-pill:last-child{margin-inline-end:0}.template-variable-pill[contenteditable=false]{cursor:default;-webkit-user-select:none;user-select:none}h1,h2,h3{margin:.35rem 0 .65rem;font-weight:600;letter-spacing:-.03em}p{color:var(--text-secondary);line-height:1.55}a{color:inherit}button{font-family:inherit}.cart-flight-layer{position:fixed;inset:0;pointer-events:none;z-index:2000}.cart-flight{position:absolute;top:0;left:0;transform:translate(var(--start-x),var(--start-y)) scale(.85);animation:cart-flight 1.1s cubic-bezier(.28,.54,.29,.99) forwards;will-change:transform,opacity}.cart-flight-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--brand-green);color:#fff;font-weight:700;box-shadow:0 16px 30px #00000047;border:2px solid rgba(255,255,255,.7)}@keyframes cart-flight{0%{transform:translate(var(--start-x),var(--start-y)) scale(.85);opacity:.2}to{transform:translate(calc(var(--start-x) + var(--delta-x)),calc(var(--start-y) + var(--delta-y))) scale(.65);opacity:1}}.modal.info-modal{text-align:left;gap:1.5rem;width:min(90vw,720px);max-width:min(90vw,720px);height:75vh;max-height:75vh;overflow:hidden;position:relative;display:flex;flex-direction:column}.modal.info-modal .info-modal-close-button{position:absolute;top:1rem;right:1rem;border:none;background:none;color:var(--text-secondary);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;font-weight:400;line-height:1;padding:0;z-index:10;transition:color .2s ease}.modal.info-modal .info-modal-close-button:hover,.modal.info-modal .info-modal-close-button:focus{color:var(--text-primary);background:none}.modal.info-modal .info-modal-close-button:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.modal.info-modal .info-modal-body{display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;flex:1 1 auto;min-height:0;padding-right:.5rem;scrollbar-gutter:stable both-edges}.modal.info-modal .info-modal-description{margin:0;color:var(--text-secondary);line-height:1.65}.modal.info-modal .info-modal-section{display:grid;gap:.75rem}.modal.info-modal .info-modal-section h4{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.modal.info-modal .info-location-name{margin:0;font-weight:600;color:var(--text-primary)}.modal.info-modal .info-location-details{margin:0;display:grid;gap:.85rem}.modal.info-modal .info-location-details dt{margin:0 0 .25rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-secondary)}.modal.info-modal .info-location-details dd{margin:0;line-height:1.5}.modal.info-modal .info-location-details a{color:var(--brand-green);font-weight:600;text-decoration:none}.modal.info-modal .info-location-details a:hover,.modal.info-modal .info-location-details a:focus{text-decoration:underline}.modal.info-modal .info-location-map{display:grid;gap:.5rem}.modal.info-modal .info-location-map iframe{width:100%;height:240px;border:0;border-radius:12px;filter:grayscale(1) contrast(1.05)}.modal.info-modal .info-location-map .map-link{font-weight:600;font-size:.9rem;width:fit-content;color:var(--brand-green);text-decoration:none}.modal.info-modal .info-location-map .map-link:hover,.modal.info-modal .info-location-map .map-link:focus{text-decoration:underline}.modal.info-modal .info-modal-empty{margin:0;color:var(--text-secondary)}.modal.info-modal .info-modal-locations{display:grid;gap:1.5rem}.modal.info-modal .info-modal-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid rgba(10,10,10,.08);padding-bottom:.5rem}.modal.info-modal .info-modal-tab{border:none;background:none;padding:.65rem .75rem;font:inherit;font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease;margin-bottom:-.5rem}.modal.info-modal .info-modal-tab:hover{color:var(--text-primary)}.modal.info-modal .info-modal-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-green)}.modal.info-modal .info-modal-tab:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.modal.info-modal .info-modal-main-tabs{display:flex;flex-wrap:wrap;gap:.75rem;border-bottom:2px solid rgba(10,10,10,.1);padding-bottom:.75rem;margin-bottom:1rem}.modal.info-modal .info-modal-main-tab{border:none;background:none;padding:.75rem 1rem;font:inherit;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease;margin-bottom:-.75rem}.modal.info-modal .info-modal-main-tab:hover{color:var(--text-primary)}.modal.info-modal .info-modal-main-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-green)}.modal.info-modal .info-modal-main-tab:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.modal.info-modal .info-modal-tabpanel{display:flex;flex-direction:column;gap:1.5rem;min-height:0;flex:1 1 auto}.modal.info-modal .info-location-hours{display:grid;gap:.5rem}.modal.info-modal .info-location-hours-day{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}.modal.info-modal .info-location-hours-day.today{font-weight:600}.modal.info-modal .info-location-hours-day-label{min-width:100px;color:var(--text-secondary)}.modal.info-modal .info-location-hours-day.today .info-location-hours-day-label{color:var(--text-primary)}.modal.info-modal .info-location-hours-day-intervals{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.modal.info-modal .info-location-hours-interval{color:var(--text-primary)}.modal.info-modal .info-location-hours-closed{color:var(--text-secondary);font-style:italic}.modal.info-modal .info-location-hours-exception{font-size:.85rem;color:var(--text-secondary);font-style:italic}.modal.info-modal .info-location-exceptions{display:grid;gap:.75rem}.modal.info-modal .info-location-exception{padding:.75rem;border-radius:.75rem;background:#0a0a0a08;border-left:3px solid var(--text-secondary)}.modal.info-modal .info-location-exception.open{border-left-color:var(--brand-green)}.modal.info-modal .info-location-exception.closed{border-left-color:#d14343}.modal.info-modal .info-location-exception strong{display:block;margin-bottom:.25rem;color:var(--text-primary)}.modal.info-modal .info-location-exception p{margin:.25rem 0 0;font-size:.9rem}.group-order-toggle{display:inline-flex;align-items:center;gap:.75rem;font-weight:600;font-size:.95rem;color:var(--text-primary);cursor:pointer}.group-order-toggle-label{display:inline-block}.group-order-switch{appearance:none;width:42px;height:24px;border-radius:999px;background:#0a0a0a2e;display:inline-flex;align-items:center;padding:3px;flex-shrink:0;position:relative;transition:background .2s ease;cursor:pointer}.group-order-switch:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0f172a33;transform:translate(0);transition:transform .2s ease}.group-order-switch:checked{background:var(--brand-green)}.group-order-switch:checked:after{transform:translate(18px)}.group-order-switch:focus-visible{outline:2px solid rgba(var(--brand-green-rgb, 255, 187, 0),.4);outline-offset:2px}app-restaurant-detail .card-info-button{position:absolute;top:.85rem;right:.85rem;width:34px;height:34px;border-radius:50%;border:1px solid rgba(var(--brand-green-rgb, 255, 187, 0),.18);background:rgba(var(--brand-green-rgb, 255, 187, 0),.08);color:var(--brand-green);display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;z-index:1}app-restaurant-detail .card-info-button:hover,app-restaurant-detail .card-info-button:focus{background:rgba(var(--brand-green-rgb, 255, 187, 0),.16);transform:translateY(-1px);box-shadow:0 8px 16px rgba(var(--brand-green-rgb, 255, 187, 0),.2)}app-restaurant-detail .card-info-button:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .card-media{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#0a0a0a0a}app-restaurant-detail .card-media img{width:100%;height:100%;display:block;object-fit:cover}app-restaurant-detail .card button:not(.card-info-button):not(.quantity-button):not(.menu-item-card-variant-button){align-self:flex-start;background:var(--brand-green);color:var(--brand-on-primary);border:0;border-radius:12px;padding:.6rem 1.1rem;font-weight:600;cursor:pointer;box-shadow:0 12px 24px rgba(var(--brand-green-rgb, 255, 187, 0),.24);transition:transform .2s ease,box-shadow .2s ease}app-restaurant-detail .card button:not(.card-info-button):not(.quantity-button):not(.menu-item-card-variant-button):hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(var(--brand-green-rgb, 255, 187, 0),.28)}app-restaurant-detail .card button:not(.card-info-button):not(.quantity-button):not(.menu-item-card-variant-button):focus-visible{outline:2px solid var(--brand-green);outline-offset:3px}app-restaurant-detail .menu-item-card-variants{margin:.75rem 0;display:flex;flex-direction:column;gap:.5rem}app-restaurant-detail .menu-item-card-variant-list{display:flex;flex-wrap:wrap;gap:.5rem}app-restaurant-detail .menu-item-card-variant-button{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(16,24,18,.18);background:#fff;border-radius:10px;padding:.5rem .75rem;font-size:.85rem;line-height:1.2;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;min-width:100px;flex:1 1 auto}app-restaurant-detail .menu-item-card-variant-button:hover,app-restaurant-detail .menu-item-card-variant-button:focus-visible{border-color:var(--brand-green, #ffbb00);background:color-mix(in srgb,var(--brand-green, #ffbb00) 12%,white);outline:none}app-restaurant-detail .menu-item-card-variant-button.selected{background:color-mix(in srgb,var(--brand-green, #ffbb00) 16%,white);border-color:var(--brand-green, #ffbb00);color:var(--brand-green, #06c167)}app-restaurant-detail .menu-item-card-variant-name{font-weight:600}app-restaurant-detail .menu-item-card-variant-price{font-weight:600;color:#101812b3;font-size:.9rem}app-restaurant-detail .menu-item-card-variant-button.selected .menu-item-card-variant-price{color:var(--brand-green, #06c167)}app-restaurant-detail .menu-item-card-lead-times{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}app-restaurant-detail .menu-item-card-lead-times-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#10181299}app-restaurant-detail .menu-item-card-lead-times-list{display:flex;flex-direction:column;gap:.4rem}app-restaurant-detail .menu-item-card-lead-time{font-size:.9rem;line-height:1.5;color:#101812d9;padding:.5rem .75rem;background:rgba(var(--brand-green-rgb, 6, 193, 103),.1);border-radius:8px;border:1px solid rgba(var(--brand-green-rgb, 6, 193, 103),.25);font-weight:500}app-restaurant-detail .menu-item-card-availability-ranges{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}app-restaurant-detail .menu-item-card-availability-ranges-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#10181299}app-restaurant-detail .menu-item-card-availability-ranges-list{display:flex;flex-direction:column;gap:.4rem}app-restaurant-detail .menu-item-card-availability-range{font-size:.9rem;line-height:1.5;color:#101812d9;padding:.5rem .75rem;background:rgba(var(--brand-green-rgb, 6, 193, 103),.1);border-radius:8px;border:1px solid rgba(var(--brand-green-rgb, 6, 193, 103),.25);font-weight:500}app-restaurant-detail .menu-item-modal-lead-times{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(10,10,10,.08)}app-restaurant-detail .menu-item-modal-lead-times h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-primary)}app-restaurant-detail .menu-item-modal-lead-times-list{display:flex;flex-direction:column;gap:.5rem}app-restaurant-detail .menu-item-modal-lead-time{font-size:.9rem;line-height:1.5;color:#101812cc;padding:.5rem .75rem;background:rgba(var(--brand-green-rgb, 255, 187, 0),.1);border-radius:10px;border:1px solid rgba(var(--brand-green-rgb, 255, 187, 0),.2)}app-restaurant-detail .menu-item-modal{max-width:640px;text-align:left;position:relative;height:min(90vh,720px);max-height:min(90vh,720px);overflow:hidden;display:flex;flex-direction:column;gap:0}@media (min-width: 1024px){app-restaurant-detail .menu-item-modal{max-width:1024px}}app-restaurant-detail .menu-item-modal .menu-item-modal-content{flex:1 1 auto;min-height:0;max-height:100%;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;padding-right:.25rem;padding-bottom:7.5rem}app-restaurant-detail .menu-item-modal .menu-item-modal-header{display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 1024px){app-restaurant-detail .menu-item-modal .menu-item-modal-header{flex-direction:row;gap:2rem;align-items:flex-start}}app-restaurant-detail .menu-item-modal .menu-item-modal-photo{width:100%;flex-shrink:0}@media (min-width: 1024px){app-restaurant-detail .menu-item-modal .menu-item-modal-photo{width:calc(33.333% - 1rem);flex-shrink:0}}app-restaurant-detail .menu-item-modal .menu-item-modal-header-content{flex:1 1 auto;display:flex;flex-direction:column;gap:1rem;min-width:0}app-restaurant-detail .menu-item-modal .menu-item-modal-description-container{display:flex;flex-direction:column;gap:.75rem}app-restaurant-detail .menu-item-modal .menu-item-modal-content:focus-visible{outline:none}app-restaurant-detail .menu-item-modal .modal-actions{position:absolute;left:clamp(1.75rem,4vw,2.5rem);right:clamp(1.75rem,4vw,2.5rem);bottom:clamp(1.75rem,4vw,2.5rem);border-radius:18px;padding:.85rem 1rem;flex-direction:row;align-items:center;gap:1rem;margin:0;background:color-mix(in srgb,rgba(255,255,255,.82) 70%,rgba(255,255,255,.96));-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);z-index:5}app-restaurant-detail .menu-item-modal .modal-actions .quantity-controls{flex-shrink:0}app-restaurant-detail .menu-item-modal .modal-actions .menu-item-modal-total-price{font-weight:700;font-size:1.1rem;color:var(--text-primary);margin-left:auto;margin-right:.5rem;flex-shrink:0}app-restaurant-detail .menu-item-modal .modal-actions .modal-button{flex:1 1 auto;justify-content:center}app-restaurant-detail .modal-tabs{margin-top:1.5rem;display:flex;gap:.5rem;border-bottom:1px solid var(--border-soft)}app-restaurant-detail .modal-tab{border:none;background:none;padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease}app-restaurant-detail .modal-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-green)}app-restaurant-detail .modal-tab:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .modal-tabpanel{padding-top:1.5rem}app-restaurant-detail .modal-close-button{position:absolute;top:1rem;right:1rem;border:none;background:transparent;color:var(--text-secondary);width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;font-weight:600;transition:color .2s ease,background .2s ease;z-index:10}app-restaurant-detail .modal-close-button:hover,app-restaurant-detail .modal-close-button:focus{background:none;color:var(--text-primary)}app-restaurant-detail .modal-close-button:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.25rem;align-items:stretch}app-restaurant-detail .card{background:var(--surface);border-radius:var(--radius-card);padding:1.25rem 1.25rem 1.5rem;box-shadow:var(--shadow-soft);border:1px solid rgba(10,10,10,.05);display:flex;flex-direction:column;height:100%;gap:.75rem;position:relative;overflow:hidden}app-restaurant-detail .card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--brand-green-rgb, 255, 187, 0),.12),transparent 60%);opacity:0;transition:opacity .2s ease;pointer-events:none}app-restaurant-detail .card.highlighted{border-color:rgba(var(--brand-green-rgb, 255, 187, 0),.4);box-shadow:0 0 0 3px rgba(var(--brand-green-rgb, 255, 187, 0),.14),var(--shadow-soft)}app-restaurant-detail .card.loyalty-redeemable,app-restaurant-detail .card.loyalty-almost{--loyalty-card-border: rgba(var(--brand-green-rgb, 255, 187, 0), .65);--loyalty-card-glow: rgba(var(--brand-green-rgb, 255, 187, 0), .12);border-color:var(--loyalty-card-border);box-shadow:0 0 0 3px var(--loyalty-card-glow)}app-restaurant-detail .card.loyalty-almost{--loyalty-card-border: rgba(255, 183, 77, .55);--loyalty-card-glow: rgba(255, 183, 77, .18)}app-restaurant-detail .spiciness-indicator{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:#101812b8;margin-bottom:.35rem}app-restaurant-detail .spiciness-indicator__label{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;color:#10181280}app-restaurant-detail .spiciness-indicator__value{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-weight:600}app-restaurant-detail .spiciness-indicator__value.spiciness-mild{background:#22c55e26;color:#16a34a}app-restaurant-detail .spiciness-indicator__value.spiciness-medium{background:#fbbf2433;color:#d97706}app-restaurant-detail .spiciness-indicator__value.spiciness-hot{background:#ef444426;color:#dc2626}app-restaurant-detail .spiciness-indicator__value.spiciness-extra_hot{background:#b91c1c33;color:#991b1b}app-restaurant-detail .loyalty-badge{--loyalty-badge-bg: rgba(var(--brand-green-rgb, 255, 187, 0), .12);--loyalty-badge-color: var(--brand-green, #045d35);--loyalty-badge-border: rgba(var(--brand-green-rgb, 255, 187, 0), .3);--loyalty-icon-bg: rgba(var(--brand-green-rgb, 255, 187, 0), .2);--loyalty-icon-color: var(--brand-green, #045d35);display:grid;grid-template-columns:auto 1fr;gap:.2rem .55rem;align-items:center;font-size:.75rem;font-weight:600;border-radius:999px;padding:.45rem .9rem;margin-bottom:.6rem;background:var(--loyalty-badge-bg);color:var(--loyalty-badge-color);border:1px solid var(--loyalty-badge-border)}app-restaurant-detail .loyalty-badge__icon{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--loyalty-icon-bg);color:var(--loyalty-icon-color)}app-restaurant-detail .loyalty-badge__icon svg{width:1.05rem;height:1.05rem;display:block}app-restaurant-detail .loyalty-badge__content{display:grid;gap:.1rem;line-height:1.1}app-restaurant-detail .loyalty-badge__helper{font-size:.7rem;font-weight:500;opacity:.85}app-restaurant-detail .loyalty-badge.loyalty-almost{--loyalty-badge-bg: rgba(255, 183, 77, .18);--loyalty-badge-color: #925100;--loyalty-badge-border: rgba(255, 183, 77, .36);--loyalty-icon-bg: rgba(255, 183, 77, .26);--loyalty-icon-color: #8b4700}app-restaurant-detail .card:hover:after{opacity:1}app-restaurant-detail .price{font-weight:700;font-size:1.1rem}app-restaurant-detail .price-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}app-restaurant-detail .menu-item-card-actions-right .price-group{justify-content:flex-end}app-restaurant-detail .allergen-badges{display:flex;flex-wrap:wrap;gap:.35rem}app-restaurant-detail .allergen-badges .badge{background:#e53e3e1f;color:#8f1e1e;border-radius:999px;padding:.3rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;line-height:1}app-restaurant-detail .allergen-badges .badge app-allergen-icon{--allergen-icon-bg: rgba(229, 62, 62, .2);--allergen-icon-border: rgba(143, 30, 30, .24)}app-restaurant-detail .price-group .price.discounted{color:var(--brand-green);font-size:1.25rem}app-restaurant-detail .price-group .price.original{text-decoration:line-through;font-weight:500;font-size:.95rem;color:var(--text-secondary)}app-restaurant-detail .discount-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--brand-green) 65%,black);background:rgba(var(--brand-green-rgb, 255, 187, 0),.14);padding:.3rem .6rem;border-radius:999px}app-restaurant-detail .quantity-controls{display:inline-flex;align-items:center;gap:.65rem;padding:.6rem .7rem;border:1px solid var(--border-soft);border-radius:999px;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);color:var(--text-primary);font-weight:600;width:fit-content;height:fit-content;min-height:2.7rem;box-sizing:border-box}app-restaurant-detail .quantity-controls .quantity-button{background:transparent;border:0;color:inherit;font-size:1.25rem;font-weight:600;cursor:pointer;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}app-restaurant-detail .quantity-controls .quantity-button:disabled{opacity:.4;cursor:not-allowed}app-restaurant-detail .quantity-controls .quantity-button:not(:disabled):hover,app-restaurant-detail .quantity-controls .quantity-button:not(:disabled):focus{background:rgba(var(--brand-green-rgb, 255, 187, 0),.18);outline:none}app-restaurant-detail .quantity-controls .quantity-button:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}app-restaurant-detail .quantity-controls .quantity-display{min-width:1.5rem;text-align:center}app-restaurant-detail .menu-item-card-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;flex-wrap:wrap;width:100%;margin-top:auto}app-restaurant-detail .menu-item-card-actions-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}app-restaurant-detail .menu-item-card-actions button:not(.quantity-button){min-height:2.7rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:fit-content}app-restaurant-detail .menu-item-card-actions-right .price-group{margin-bottom:0}app-restaurant-detail .hero-meta .hero-rating{display:inline-flex;align-items:baseline;gap:.35rem;font-weight:600}app-restaurant-detail .hero-meta .hero-rating .value{font-size:1.05rem}app-restaurant-detail .hero-meta .hero-rating .count{font-weight:500;opacity:.85;font-size:.9rem}app-restaurant-detail .hero-meta .hero-rating.muted{opacity:.75;font-weight:500}app-restaurant-detail .rating-chip{display:inline-flex;align-items:center;gap:.35rem;background:rgba(var(--brand-green-rgb, 255, 187, 0),.12);color:color-mix(in srgb,var(--brand-green, #ffbb00) 65%,#0a0a0a 35%);padding:.35rem .75rem;border-radius:999px;font-weight:600;font-size:.9rem;letter-spacing:.01em}app-restaurant-detail .rating-chip .count{font-weight:500;font-size:.85rem;opacity:.8}app-restaurant-detail .rating-chip-large{font-size:1rem;padding:.45rem 1rem}app-restaurant-detail .reviews{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem}app-restaurant-detail .reviews-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}app-restaurant-detail .review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}app-restaurant-detail .review-card{padding:1rem 1.1rem;border-radius:16px;background:#ffffffd1;border:1px solid rgba(10,10,10,.06);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.65rem}app-restaurant-detail .review-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1rem}app-restaurant-detail .review-rating{font-weight:600;color:color-mix(in srgb,var(--brand-green, #ffbb00) 70%,#0a0a0a 30%)}app-restaurant-detail .review-author{font-weight:600}app-restaurant-detail .review-date{font-size:.85rem;opacity:.75}app-restaurant-detail .review-comment,app-restaurant-detail .review-empty{margin:0;font-size:.95rem;line-height:1.6}app-restaurant-detail .review-empty{opacity:.75}app-restaurant-detail .review-form{margin-top:1.5rem;padding:1.5rem;border-radius:18px;background:#ffffffeb;border:1px solid rgba(10,10,10,.08);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1rem}app-restaurant-detail .review-form h4{margin:0;font-size:1.1rem;text-align:left}app-restaurant-detail .review-form .form-field{display:flex;flex-direction:column;gap:.45rem;text-align:left}app-restaurant-detail .review-form label{font-weight:600;font-size:.95rem}app-restaurant-detail .review-form select,app-restaurant-detail .review-form textarea{width:100%;border-radius:12px;border:1px solid rgba(10,10,10,.12);padding:.75rem 1rem;font:inherit;color:inherit;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}app-restaurant-detail .review-form select:focus,app-restaurant-detail .review-form textarea:focus{outline:none;border-color:color-mix(in srgb,var(--brand-green, #ffbb00) 85%,#0a0a0a 15%);box-shadow:0 0 0 3px rgba(var(--brand-green-rgb, 255, 187, 0),.2)}app-restaurant-detail .review-form textarea{min-height:120px;resize:vertical}app-restaurant-detail .review-form .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}app-restaurant-detail .review-form button[type=submit]{align-self:flex-start;border-radius:999px;padding:.85rem 1.75rem;border:none;background:var(--brand-green);color:var(--brand-on-primary);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}app-restaurant-detail .review-form button[type=submit]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 36px rgba(var(--brand-green-rgb, 255, 187, 0),.28)}app-restaurant-detail .review-form button[type=submit]:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}app-restaurant-detail .review-form .form-error{margin:0;font-size:.85rem;color:color-mix(in srgb,#b00020 70%,#0a0a0a 30%)}app-restaurant-detail .review-form .form-status{margin:0;font-size:.9rem;font-weight:600}app-restaurant-detail .review-form .form-status.success{color:color-mix(in srgb,var(--brand-green, #ffbb00) 75%,#0a0a0a 25%)}app-restaurant-detail .review-form .form-status.error{color:color-mix(in srgb,#b00020 75%,#0a0a0a 25%)}app-restaurant-detail .modal h3{margin:0;font-size:1.5rem;font-weight:700}app-restaurant-detail .modal p{margin:0;color:var(--text-secondary);line-height:1.6}app-restaurant-detail .modal-actions{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0}app-restaurant-detail .modal-button{border-radius:999px;padding:.85rem 1.25rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}app-restaurant-detail .modal-button.primary{background:var(--brand-green);color:var(--brand-on-primary);border:none;box-shadow:0 16px 32px rgba(var(--brand-green-rgb, 255, 187, 0),.28)}app-restaurant-detail .modal-button.primary:hover{transform:translateY(-1px);box-shadow:0 20px 40px rgba(var(--brand-green-rgb, 255, 187, 0),.32)}app-restaurant-detail .modal-button.secondary{background:transparent;color:var(--text-secondary);border:1px solid rgba(var(--brand-green-rgb, 255, 187, 0),.18)}app-restaurant-detail .modal-button.secondary:hover{background:rgba(var(--brand-green-rgb, 255, 187, 0),.1)}app-restaurant-detail .review-section{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}app-restaurant-detail .review-section h4{margin:0;font-size:1.1rem}@media (max-width: 720px){app-restaurant-detail .reviews{margin-top:2rem}app-restaurant-detail .reviews-header{align-items:flex-start}app-restaurant-detail .review-form{padding:1.25rem}}app-admin-restaurant-users .card-actions{display:flex;justify-content:flex-end;margin-top:.75rem}app-admin-restaurant-users .pill-button{display:inline-flex;align-items:center;justify-content:center;appearance:none;border:none;border-radius:999px;font-weight:600;cursor:pointer}app-admin-restaurant-users .card-actions .scan-trigger{padding:.6rem 1.2rem;background:var(--brand-green, #ffbb00);color:#fff;transition:background-color .2s ease}app-admin-restaurant-users .card-actions .scan-trigger:hover,app-admin-restaurant-users .card-actions .scan-trigger:focus-visible{background:color-mix(in srgb,var(--brand-green) 90%,black);outline:none}app-admin-restaurant-users .filters-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}app-admin-restaurant-users .filters-button{border:1px solid rgba(var(--brand-green-rgb, 255, 187, 0),.4);background:rgba(var(--brand-green-rgb, 255, 187, 0),.12);color:var(--brand-green, #ffbb00);padding:.5rem 1rem}app-admin-restaurant-users .filters-button:hover,app-admin-restaurant-users .filters-button:focus-visible{background:rgba(var(--brand-green-rgb, 255, 187, 0),.18);outline:none}.menu-item-modal{text-align:left}.menu-item-modal .menu-item-modal-content{display:flex;flex-direction:column;gap:1.5rem}.menu-item-modal .menu-item-ingredients{display:flex;flex-direction:column;gap:.75rem}.menu-item-modal .menu-item-ingredients-heading{margin:0;font-size:1.05rem;font-weight:600}.menu-item-modal .menu-item-ingredient-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}.menu-item-modal .menu-item-ingredient-entry{display:inline-flex}.menu-item-modal .menu-item-ingredient-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:#1018120f;color:#101812d9;padding:.45rem .85rem;font-size:.9rem;line-height:1.2}.menu-item-modal .menu-item-ingredient-button{border:1px solid rgba(16,24,18,.18);background:#fff;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.menu-item-modal .menu-item-ingredient-button:hover,.menu-item-modal .menu-item-ingredient-button:focus-visible{border-color:var(--brand-green, #ffbb00);background:color-mix(in srgb,var(--brand-green, #ffbb00) 12%,white);outline:none}.menu-item-modal .menu-item-ingredient-button.removed{background:#c0392b1f;border-color:#c0392b99;color:#a1261d;text-decoration:line-through}.menu-item-modal .menu-item-ingredient-button.removed .menu-item-ingredient-status{font-weight:600}.menu-item-modal .menu-item-ingredient-name{font-weight:500}.menu-item-modal .menu-item-ingredient-status{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.menu-item-modal .menu-item-variants{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.menu-item-modal .menu-item-variants-heading{margin:0;font-size:1.05rem;font-weight:600}.menu-item-modal .menu-item-variant-list{display:flex;flex-wrap:wrap;gap:.5rem}.menu-item-modal .menu-item-variant-button{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(16,24,18,.18);background:#fff;border-radius:12px;padding:.6rem .85rem;font-size:.9rem;line-height:1.2;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;min-width:120px}.menu-item-modal .menu-item-variant-button:hover,.menu-item-modal .menu-item-variant-button:focus-visible{border-color:var(--brand-green, #ffbb00);background:color-mix(in srgb,var(--brand-green, #ffbb00) 12%,white);outline:none}.menu-item-modal .menu-item-variant-button.selected{background:color-mix(in srgb,var(--brand-green, #ffbb00) 16%,white);border-color:var(--brand-green, #ffbb00);color:var(--brand-green, #06c167)}.menu-item-modal .menu-item-variant-name{font-weight:600}.menu-item-modal .menu-item-variant-price{font-weight:600;color:#101812b3}.menu-item-modal .menu-item-variant-button.selected .menu-item-variant-price{color:var(--brand-green, #06c167)}.menu-item-modal .menu-item-options{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.menu-item-modal .menu-item-options-heading{margin:0;font-size:1.05rem;font-weight:600}.menu-item-modal .menu-item-option-group{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid rgba(16,24,18,.12);border-radius:16px;background:#fff9}.menu-item-modal .menu-item-option-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.menu-item-modal .menu-item-option-title{font-weight:600}.menu-item-modal .menu-item-option-hint{font-size:.85rem;color:#101812a6}.menu-item-modal .menu-item-option-items{display:flex;flex-wrap:wrap;gap:.6rem}.menu-item-modal .menu-item-option-button{border:1px solid rgba(16,24,18,.18);background:#fff;border-radius:999px;padding:.45rem 1rem;display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;text-align:left;box-sizing:border-box;transition:background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap;width:fit-content;align-self:flex-start}.menu-item-modal .menu-item-option-button:has(.menu-item-option-item-thumbnail){padding:.6rem .75rem;border-radius:12px;flex-direction:column;width:140px;min-height:140px;height:auto;align-items:flex-start;justify-content:flex-start;white-space:normal}.menu-item-modal .menu-item-option-item-thumbnail{display:none}.menu-item-modal .menu-item-option-button:has(.menu-item-option-item-thumbnail) .menu-item-option-item-thumbnail{display:block;width:100%;height:80px;object-fit:cover;border-radius:8px;margin-bottom:.25rem;background:#1018120a;flex-shrink:0}.menu-item-modal .menu-item-option-item-name{font-weight:600;font-size:.9rem;flex-shrink:0;line-height:1.3}.menu-item-modal .menu-item-option-button:has(.menu-item-option-item-thumbnail) .menu-item-option-item-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.menu-item-modal .menu-item-option-item-price{font-size:.85rem;color:#101812b3;flex-shrink:0;margin-left:auto}.menu-item-modal .menu-item-option-button:has(.menu-item-option-item-thumbnail) .menu-item-option-item-price{margin-left:0;margin-top:auto}.menu-item-modal .menu-item-option-button:hover:not(:disabled):not(.selected){border-color:var(--brand-green);color:var(--brand-green)}.menu-item-modal .menu-item-option-button.selected{background:color-mix(in srgb,var(--brand-green) 80%,white 20%);border-color:var(--brand-green);color:#fff}.menu-item-modal .menu-item-option-button.selected:hover:not(:disabled){background:color-mix(in srgb,var(--brand-green) 85%,white 15%);border-color:var(--brand-green);color:#fff}.menu-item-modal .menu-item-option-button.selected .menu-item-option-item-price{color:inherit}.menu-item-modal .menu-item-option-button:disabled{opacity:.55;cursor:not-allowed}.menu-item-modal .menu-item-option-error{margin:0;font-size:.85rem;color:#c0392b}.group-order-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-weight:700;font-size:1.05rem;color:var(--text-primary)}.group-order-status{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:rgba(var(--brand-green-rgb, 255, 187, 0),.14);color:var(--brand-green, #ffbb00)}.group-order-status.inactive{background:#0a0a0a14;color:var(--text-secondary)}.group-order-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;color:var(--text-secondary);font-size:.9rem}.group-order-meta span strong{color:var(--text-primary)}.group-order-footer{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.85rem;color:var(--text-secondary)}.group-order-footer span{display:inline-flex;align-items:center;gap:.35rem}.group-order-orders-list .order-card{cursor:default}.group-order-orders-list .order-card:hover,.group-order-orders-list .order-card:focus-visible{transform:none;box-shadow:none}.group-order-orders-list .order-items-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(10,10,10,.1)}.group-order-orders-list .order-items-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary, rgba(10, 10, 10, .9))}.group-order-orders-list .items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.group-order-orders-list .items-list>li{display:flex;flex-direction:column;gap:.5rem}.group-order-orders-list .item-line{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;font-size:.875rem}.group-order-orders-list .item-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem;padding-left:1rem;font-size:.8125rem;color:var(--text-secondary, rgba(10, 10, 10, .6))}.group-order-orders-list .item-option{display:flex;gap:.5rem}.group-order-orders-list .item-option-title{font-weight:600}.group-order-orders-list .item-removed-ingredients{font-size:.8125rem;color:var(--text-secondary, rgba(10, 10, 10, .6));padding-left:1rem;display:flex;gap:.5rem}.group-order-orders-list .item-removed-label{font-weight:600}.group-order-orders-list .item-removed-values{flex:1}.group-order-orders-list .item-remark{font-size:.8125rem;color:var(--text-secondary, rgba(10, 10, 10, .6));font-style:italic;padding-left:1rem}.tabs{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem;border-radius:999px;background:#0a0a0a0a;border:1px solid rgba(10,10,10,.06);width:fit-content}.tab-button{border:none;background:transparent;border-radius:999px;padding:.45rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.tab-button:hover,.tab-button:focus-visible{background:#0a0a0a0f;color:var(--text-primary);outline:none}.tab-button.active{background:rgba(var(--brand-green-rgb, 255, 187, 0),.16);color:color-mix(in srgb,var(--brand-green) 65%,black);box-shadow:0 6px 16px rgba(var(--brand-green-rgb, 255, 187, 0),.18)}.tab-panels{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,1.75rem)}.tab-panel[aria-hidden=true]{display:none}
