@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700&family=Dancing+Script:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700&family=Dancing+Script:wght@400;500;600;700&display=swap";@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css";@keyframes fade-in-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #005bac4d}50%{box-shadow:0 0 20px 4px #005bac26}}@keyframes hero-slide{0%{opacity:0;transform:scale(1.05)}8%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(1)}33%{opacity:0;transform:scale(1.02)}to{opacity:0;transform:scale(1.05)}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes dot-typing{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scroll-reveal,.scroll-reveal-left,.scroll-reveal-right{opacity:1!important;transform:none!important}}:root{font-family:var(--font-ui);color:var(--color-ink);background:var(--color-bg);font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--cmc-bg);min-width:320px;margin:0}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:2px;outline:3px solid #08bcef73}.cmc-button{cursor:pointer;border:0;border-radius:12px;padding:.75rem 1rem;font-weight:700}.cmc-button:disabled{opacity:.6;cursor:not-allowed}.cmc-button--primary{color:#fff;background:var(--cmc-primary)}.cmc-button--primary:hover{background:var(--cmc-primary-hover)}.cmc-button--secondary{color:var(--cmc-primary);background:#e9f7fc}.cmc-button--danger{color:#fff;background:var(--cmc-danger)}.cmc-card{background:var(--cmc-card);border:1px solid var(--cmc-border);box-shadow:var(--cmc-shadow);border-radius:24px;padding:1.5rem}.cmc-state{border:1px solid var(--cmc-border);background:#fff;border-radius:20px;max-width:720px;margin:2rem auto;padding:1.5rem}.cmc-state p{color:var(--cmc-muted)}.cmc-state--error{border-color:#f2b8b5}.cmc-badge{border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.cmc-badge--neutral{background:#edf2f7}.cmc-badge--info{color:#00517a;background:#dff6fd}.cmc-badge--success{color:#166534;background:#dcfce7}.cmc-badge--warning{color:#92400e;background:#fef3c7}.cmc-badge--danger{color:#991b1b;background:#fee2e2}.cmc-operations-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.cmc-sidebar{color:#fff;background:#08233e;flex-direction:column;gap:1.5rem;height:100vh;padding:1.25rem;display:flex;position:sticky;top:0}.cmc-brand{align-items:center;gap:.8rem;display:flex}.cmc-brand-mark{background:linear-gradient(135deg,var(--cmc-primary),var(--cmc-cyan));border-radius:16px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.cmc-brand strong,.cmc-brand small{display:block}.cmc-brand small,.cmc-user small{color:#a9c9dd}.cmc-sidebar nav{gap:.4rem;display:grid}.cmc-nav-link{color:#d5e9f5;border-radius:12px;padding:.8rem 1rem;text-decoration:none}.cmc-nav-link:hover,.cmc-nav-link.is-active{color:#fff;background:#08bcef2e}.cmc-user{border-top:1px solid #ffffff24;gap:.2rem;margin-top:auto;padding-top:1rem;display:grid}.cmc-user button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:10px;margin-top:.5rem;padding:.55rem}.cmc-portal-content{min-width:0;padding:1.5rem}.cmc-mobile-topbar{z-index:40;color:#fff;background:#08233e;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:none;position:sticky;top:0}.cmc-brand--compact{gap:.6rem}.cmc-brand--compact .cmc-brand-mark{border-radius:12px;width:38px;height:38px;font-size:.8rem}.cmc-brand--compact strong{font-size:.95rem}.cmc-nav-toggle{cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;display:inline-flex}.cmc-nav-toggle span{width:100%;height:2px;transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);background:#fff;border-radius:2px;display:block}.cmc-nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.cmc-nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.cmc-nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.cmc-drawer-overlay{z-index:45;cursor:pointer;animation:cmc-overlay-in var(--duration-base) var(--ease-standard) both;background:#08233e80;border:0;padding:0;display:none;position:fixed;inset:0}@keyframes cmc-overlay-in{0%{opacity:0}to{opacity:1}}.cmc-login-shell{background:radial-gradient(circle at top right,#08bcef33,transparent 35%),var(--cmc-bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.cmc-login-card{width:min(440px,100%)}.cmc-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--cmc-primary);margin:0;font-size:.75rem;font-weight:800}.cmc-login-card form{gap:1rem;margin-top:1.5rem;display:grid}.cmc-login-card label{gap:.4rem;font-weight:700;display:grid}.cmc-login-card input{border:1px solid #b8dbe9;border-radius:12px;width:100%;padding:.8rem}.cmc-form-error{color:var(--cmc-danger);margin:0}@media (width<=800px){.cmc-operations-shell{grid-template-columns:1fr}.cmc-mobile-topbar{display:flex}.cmc-drawer-overlay.is-open{display:block}.cmc-sidebar{z-index:50;width:min(82vw,300px);height:100vh;transition:transform var(--duration-base) var(--ease-emphasized);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 24px 60px #08233e73}.cmc-sidebar.is-open{transform:translate(0)}.cmc-sidebar nav{grid-template-columns:1fr}.cmc-sidebar.is-open .cmc-nav-link{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.cmc-sidebar.is-open nav>:nth-child(2){animation-delay:30ms}.cmc-sidebar.is-open nav>:nth-child(3){animation-delay:60ms}.cmc-sidebar.is-open nav>:nth-child(4){animation-delay:90ms}.cmc-sidebar.is-open nav>:nth-child(5){animation-delay:.12s}.cmc-sidebar.is-open nav>:nth-child(6){animation-delay:.15s}.cmc-user{margin-top:auto}.cmc-portal-content{padding:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cmc-login-premium{align-items:center;width:min(460px,100%);display:grid}.cmc-form-section{flex-direction:column;gap:.75rem;display:flex}.cmc-form-section h2{color:var(--cmc-text);margin:0 0 .25rem;font-size:1.35rem}.cmc-login-hint{color:var(--cmc-muted);margin:0 0 .5rem;font-size:.875rem}.cmc-user .cmc-account-actions{gap:.4rem;display:grid}.cmc-user .cmc-account-trigger{color:#fff;cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff4d;border-radius:10px;margin-top:.5rem;padding:.55rem}.cmc-user .cmc-account-trigger:disabled{opacity:.6;cursor:not-allowed}.cmc-user .cmc-account-cancel{color:#a9c9dd;cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff2e;border-radius:10px;margin-top:0;padding:.55rem}.cmc-user .cmc-account-form{gap:.45rem;margin-top:.5rem;display:grid}.cmc-user .cmc-account-form input{color:#fff;width:100%;font:inherit;background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;padding:.5rem}.cmc-user .cmc-account-form input::placeholder{color:#ffffff8c}.cmc-user .cmc-account-form-actions{gap:.4rem;display:flex}.cmc-user .cmc-account-form-actions .cmc-account-trigger{flex:1;margin-top:0}.cmc-user .cmc-account-note{margin:.25rem 0 0;font-size:.8rem}.cmc-user .cmc-account-note--success{color:#7ee0c8}.cmc-user .cmc-account-note--error{color:#ff9b9b}.cmc-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cmc-field{gap:var(--space-2);display:grid}.cmc-field-label{color:var(--color-ink);font-size:.9rem;font-weight:700}.cmc-field-req{color:var(--color-danger)}.cmc-field-hint{color:var(--color-muted);margin:0;font-size:.8rem}.cmc-field-error{color:var(--color-danger);margin:0;font-size:.8rem;font-weight:700}.cmc-input,.cmc-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);width:100%;color:var(--color-ink);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);padding:.7rem .85rem}.cmc-textarea{resize:vertical;min-height:96px}.cmc-input::placeholder,.cmc-textarea::placeholder{color:var(--color-muted)}.cmc-input:focus-visible,.cmc-textarea:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #08bcef47}.cmc-field--invalid .cmc-input,.cmc-field--invalid .cmc-textarea{border-color:var(--color-danger)}.cmc-field--invalid .cmc-input:focus-visible,.cmc-field--invalid .cmc-textarea:focus-visible{box-shadow:0 0 0 3px #b4231838}.cmc-icon-button{border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;place-items:center;font-size:1.1rem;line-height:1;display:inline-grid}.cmc-icon-button:active{transform:scale(.94)}.cmc-icon-button:disabled{opacity:.55;cursor:not-allowed}.cmc-icon-button--ghost{color:var(--color-ink);border-color:var(--color-border);background:0 0}.cmc-icon-button--ghost:hover{background:var(--color-soft)}.cmc-icon-button--solid{background:var(--color-primary);color:#fff}.cmc-icon-button--solid:hover{background:var(--color-primary-hover)}.cmc-icon-button--danger{background:var(--color-danger-bg);color:var(--color-danger)}.cmc-icon-button--danger:hover{background:#fad9d6}.cmc-spinner{vertical-align:middle;display:inline-block;position:relative}.cmc-spinner-track{border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-pill);width:100%;height:100%;animation:.7s linear infinite cmc-spin;display:block}@keyframes cmc-spin{to{transform:rotate(360deg)}}.cmc-skeleton{background:var(--color-soft);display:block}.cmc-empty-state{justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center;color:var(--color-muted);display:grid}.cmc-empty-state strong{color:var(--color-ink);font-size:1.05rem}.cmc-empty-state p{max-width:42ch;margin:0}.cmc-empty-state-icon{border-radius:var(--radius-pill);background:var(--color-soft);width:64px;height:64px;color:var(--color-primary);place-items:center;font-size:1.7rem;display:grid}.cmc-empty-state-action{margin-top:var(--space-2)}.cmc-timeline{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.cmc-timeline-item{gap:var(--space-3);grid-template-columns:18px minmax(0,1fr);display:grid;position:relative}.cmc-timeline-item:before{content:"";top:18px;left:8px;bottom:calc(-1 * var(--space-4));background:var(--color-border);width:2px;position:absolute}.cmc-timeline-item:last-child:before{display:none}.cmc-timeline-dot{border-radius:var(--radius-pill);background:var(--color-muted);width:16px;height:16px;box-shadow:0 0 0 4px var(--color-card);margin-top:2px}.cmc-timeline-item--info .cmc-timeline-dot{background:var(--color-cyan)}.cmc-timeline-item--success .cmc-timeline-dot{background:var(--color-success)}.cmc-timeline-item--warning .cmc-timeline-dot{background:var(--color-warning)}.cmc-timeline-item--danger .cmc-timeline-dot{background:var(--color-danger)}.cmc-timeline-content{gap:var(--space-1);display:grid}.cmc-timeline-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.cmc-timeline-row strong{color:var(--color-ink)}.cmc-timeline-time{white-space:nowrap;color:var(--color-muted);font-size:.78rem}.cmc-timeline-sub{color:var(--color-muted);font-size:.85rem}.cmc-timeline-note{color:var(--color-ink);margin:0;font-size:.85rem}.cmc-modal-overlay{z-index:1000;padding:var(--space-5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08233e75;place-items:center;display:grid;position:fixed;inset:0}.cmc-modal{width:min(560px,100%);max-height:calc(100vh - 2 * var(--space-5));background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-3);overflow:auto}.cmc-modal:focus-visible{outline:none}.cmc-modal-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3);display:flex}.cmc-modal-header h2{color:var(--color-ink);margin:0;font-size:1.2rem}.cmc-modal-body{padding:0 var(--space-5) var(--space-5)}.cmc-modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-5);display:flex}.cmc-toaster{right:var(--space-5);bottom:var(--space-5);z-index:1100;gap:var(--space-3);width:min(360px, calc(100vw - 2 * var(--space-5)));display:grid;position:fixed}.cmc-toast{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);background:var(--color-card);box-shadow:var(--elevation-2);color:var(--color-ink);font-weight:600;display:flex}.cmc-toast--info{border-left-color:var(--color-cyan)}.cmc-toast--success{border-left-color:var(--color-success)}.cmc-toast--warning{border-left-color:var(--color-warning)}.cmc-toast--danger{border-left-color:var(--color-danger)}.cmc-toast-close{padding:0 0 0 var(--space-2);color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-size:1.1rem;line-height:1}.cmc-toast-close:hover{color:var(--color-ink)}.cmc-sidebar{background:#14212e;gap:1.1rem;padding:1.1rem .9rem}.cmc-sidebar-nav{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:auto;gap:2px;min-height:0;margin:0 -4px;padding:0 4px;display:grid;overflow-y:auto}.cmc-nav-item{gap:2px;display:grid}.cmc-nav-section{letter-spacing:.08em;text-transform:uppercase;color:#ffffff6b;margin:14px 0 4px;padding:0 12px;font-size:.68rem;font-weight:700}.cmc-nav-item:first-child .cmc-nav-section{margin-top:2px}.cmc-nav-link{color:#ffffffb8;border-radius:10px;align-items:center;gap:10px;padding:.6rem .75rem;font-size:.9rem;font-weight:500;transition:background .15s,color .15s;display:flex}.cmc-nav-link:hover{color:#fff;background:#ffffff12}.cmc-nav-link.is-active{color:#fff;background:var(--color-primary,#005bac);font-weight:600}.cmc-nav-icon{opacity:.9;flex:none;display:inline-flex}.cmc-nav-link-label{flex:auto}.cmc-nav-badge{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:.72rem;font-weight:700}.cmc-portal-content--with-bottom-nav{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.cmc-user{flex:none;gap:.5rem;padding-top:.9rem}.cmc-user-identity{align-items:center;gap:10px;min-width:0;display:flex}.cmc-user-identity>div{min-width:0;display:grid}.cmc-user-identity span:not(.cmc-user-avatar){text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.cmc-user-avatar{background:linear-gradient(135deg, var(--cmc-primary,#005bac), var(--cmc-cyan,#08bcef));color:#fff;border-radius:12px;flex:none;place-items:center;width:36px;height:36px;font-size:.95rem;font-weight:800;display:grid}.cmc-user .cmc-logout-btn{color:#ff9b8d;cursor:pointer;background:#dc4c3c29;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:.35rem;padding:.6rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.cmc-user .cmc-logout-btn:hover{color:#fff;background:#dc4c3c52}@media (width<=900px){.cmc-sidebar.is-open{display:flex}}:root{--color-primary:#005bac;--color-primary-hover:#0067c7;--color-primary-light:#e8f4fd;--color-primary-dark:#003d73;--color-primary-50:#f0f7ff;--color-primary-100:#dbeefe;--color-primary-200:#bfddfe;--color-primary-600:#005bac;--color-primary-700:#003d73;--color-cyan:#08bcef;--color-teal:#00a99d;--color-bg:#fff;--color-bg-subtle:#f0f7ff;--color-bg-section:#f8fbff;--color-card:#fff;--color-ink:#08233e;--color-muted:#5a7a96;--color-border:#d4e8f5;--color-border-light:#e8f1f8;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-info:#005bac;--color-info-bg:#dbeefe;--color-role-admin:#7c3aed;--color-role-staff:#0284c7;--color-role-kitchen:#ea580c;--color-role-customer:#059669;--gradient-hero:linear-gradient(135deg, #003d73d9 0%, #005bacbf 50%, #08bcef99 100%);--gradient-hero-soft:linear-gradient(135deg, #003d73 0%, #005bac 60%, #08bcef 100%);--gradient-cta:linear-gradient(135deg, #005bac 0%, #0067c7 100%);--gradient-card:linear-gradient(180deg, #005bac08 0%, #005bac00 100%);--gradient-section:linear-gradient(180deg, #fff 0%, #f0f7ff 100%);--glass-bg:#ffffffd9;--glass-border:#d4e8f599;--glass-blur:blur(12px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--elevation-1:0 1px 3px #005bac0f, 0 1px 2px #005bac0a;--elevation-2:0 4px 24px #005bac14;--elevation-3:0 12px 40px #005bac1f;--elevation-4:0 20px 60px #005bac29;--elevation-hover:0 12px 40px #005bac24;--elevation-nav:0 4px 20px #005bac0f;--font-display:"Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-ui:"Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Cascadia Code", "Cascadia Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.75;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--duration-slower:.5s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-decelerate:cubic-bezier(0, 0, 0, 1);--ease-accelerate:cubic-bezier(.3, 0, 1, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--z-base:1;--z-dropdown:10;--z-sticky:20;--z-nav:30;--z-modal-backdrop:40;--z-modal:50;--z-toast:60;--z-chat:70;--cmc-primary:var(--color-primary);--cmc-primary-hover:var(--color-primary-hover);--cmc-cyan:var(--color-cyan);--cmc-teal:var(--color-teal);--cmc-bg:var(--color-bg);--cmc-card:var(--color-card);--cmc-border:var(--color-border);--cmc-text:var(--color-ink);--cmc-muted:var(--color-muted);--cmc-danger:var(--color-danger);--cmc-shadow:var(--elevation-2);--ink:var(--color-ink);--muted:var(--color-muted);--line:var(--color-border);--panel:var(--color-card);--blue:var(--color-primary);--blue-soft:var(--color-primary-light);--teal:var(--color-primary-hover);--teal-dark:var(--color-primary-hover);--ready:var(--color-teal);--warn:var(--color-cyan);--shadow:var(--elevation-2);--cmc-page-bg:var(--color-bg);--cmc-heading:var(--color-ink);--cmc-text-muted:var(--color-muted);--cmc-accent-cyan:var(--color-cyan);--cmc-ai-teal:var(--color-teal);--cmc-card-shadow:var(--elevation-2);--cmc-cream:var(--color-bg);--cmc-soft:var(--color-primary-light);--cmc-brown:var(--color-ink);--cmc-line:var(--color-border);--cmc-ink:var(--color-ink);--role-admin:var(--color-role-admin);--role-staff:var(--color-role-staff);--role-kitchen:var(--color-role-kitchen);--role-customer:var(--color-role-customer)}.anim-fade-in-up{animation:fade-in-up var(--duration-slow) var(--ease-decelerate) both}.anim-fade-in{animation:fade-in var(--duration-base) var(--ease-decelerate) both}.anim-scale-in{animation:scale-in var(--duration-base) var(--ease-decelerate) both}.anim-slide-in{animation:slide-in-right var(--duration-base) var(--ease-decelerate) both}.anim-slide-up{animation:slide-up var(--duration-slow) var(--ease-decelerate) both}.anim-shimmer{background-image:linear-gradient(90deg, var(--color-primary-light) 25%, #fff 37%, var(--color-primary-light) 63%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.anim-pulse{animation:pulse-soft 1.6s var(--ease-standard) infinite}.anim-toast-in{animation:toast-in var(--duration-slow) var(--ease-emphasized) both}.anim-float{animation:float 3s var(--ease-standard) infinite}.anim-glow{animation:glow-pulse 2s var(--ease-standard) infinite}.anim-spin{animation:1s linear infinite spin}.anim-delay-1{animation-delay:.1s}.anim-delay-2{animation-delay:.2s}.anim-delay-3{animation-delay:.3s}.anim-delay-4{animation-delay:.4s}.anim-delay-5{animation-delay:.5s}.scroll-reveal{opacity:0;transition:opacity var(--duration-slower) var(--ease-decelerate), transform var(--duration-slower) var(--ease-decelerate);transform:translateY(24px)}.scroll-reveal.visible{opacity:1;transform:none}.scroll-reveal-left{opacity:0;transition:opacity var(--duration-slower) var(--ease-decelerate), transform var(--duration-slower) var(--ease-decelerate);transform:translate(-32px)}.scroll-reveal-left.visible{opacity:1;transform:none}.scroll-reveal-right{opacity:0;transition:opacity var(--duration-slower) var(--ease-decelerate), transform var(--duration-slower) var(--ease-decelerate);transform:translate(32px)}.scroll-reveal-right.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scroll-reveal,.scroll-reveal-left,.scroll-reveal-right{opacity:1!important;transform:none!important}}:root{color:var(--color-ink);background:var(--color-bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.customer-app-shell{min-height:100vh;color:var(--color-ink);background:radial-gradient(circle at 18% 0,#08bcef1f,#0000 28%),linear-gradient(#f4f8fb 0%,#eef6fb 100%);padding:100px clamp(16px,4vw,72px) 28px}.customer-app-shell:has(.page-shell-chat){background:radial-gradient(circle at 18% 0,#6e453b0f,#0000 28%),linear-gradient(#fdf8f4 0%,#f8f0e8 100%)}.customer-app-shell:has(.cmc-customer-page){background:linear-gradient(#fdf8f0 0%,#fffbf5 50%,#fff9f0 100%);padding-top:70px}.landing-shell{background:var(--color-bg);min-height:100vh;color:var(--color-ink)}.cmc-nav-link{align-items:center;gap:10px;display:flex}.cmc-nav-icon{opacity:.7;flex-shrink:0;display:inline-flex}.cmc-nav-link.is-active .cmc-nav-icon{opacity:1}.skip-link{z-index:100;color:#003f7d;background:#fff;padding:10px 14px;font-weight:800;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.customer-topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(100%,1520px);animation:fade-in-up var(--duration-slow) var(--ease-decelerate) both;background:#fffffff5;border:1px solid #cfeaf5eb;border-bottom:0;border-radius:24px 24px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin:0 auto;padding:16px 28px 12px;display:grid;position:relative;top:0;box-shadow:0 18px 48px #005bac14}.customer-brand{grid-template-columns:58px auto;align-items:center;gap:10px;min-width:max-content;display:inline-grid}.customer-brand-logo,.brand-logo{object-fit:contain;width:54px;height:54px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.customer-brand strong,.customer-brand small{line-height:1.05;display:block}.customer-brand strong{color:#08233e;letter-spacing:0;font-size:23px}.customer-brand small{color:var(--cmc-muted);letter-spacing:0;text-transform:none;margin-top:3px;font-size:14px;font-weight:900}.customer-nav{scrollbar-width:thin;justify-content:end;gap:34px;min-width:0;padding:3px;display:flex;overflow-x:auto}.customer-nav a{color:#08233e;white-space:nowrap;flex:none;padding:10px 0 8px;font-size:15px;font-weight:700;position:relative}.customer-nav a:after{background:var(--color-primary-hover);content:"";height:2px;transition:transform .18s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.customer-nav a:hover,.customer-nav a.active{color:var(--color-primary-hover)}.customer-nav a:hover:after,.customer-nav a.active:after{transform:scaleX(1)}.customer-menu-toggle{border:1px solid var(--cmc-line);background:#fff;border-radius:8px;width:46px;height:46px;padding:11px;display:none}.customer-menu-toggle span{background:var(--cmc-brown);width:100%;height:2px;transition:transform var(--duration-base) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);margin:4px 0;display:block}.customer-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.customer-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.customer-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.customer-login-link{border:1px solid var(--color-primary);color:#fff;background:#005bac;border-radius:16px;justify-content:center;align-items:center;min-width:max-content;padding:14px 24px;font-size:16px;font-weight:900;display:inline-flex}.customer-content{width:min(100%,1520px);margin:0 auto;padding:0 0 22px}.landing-shell{background:#fff;padding:0}.landing-shell .customer-topbar{border:0;border-radius:0;width:min(100%,1440px);min-height:78px;padding:10px clamp(28px,8vw,112px);position:sticky;top:0;box-shadow:0 1px #08233e1a}.landing-shell .customer-content{width:100%;padding:0}.landing-shell .customer-brand{grid-template-columns:46px auto}.landing-shell .customer-brand-logo{width:44px;height:44px}.landing-shell .customer-brand strong{font-size:18px}.landing-shell .customer-brand small{font-size:11px;font-weight:700}.customer-topbar :is(a,button):focus-visible{outline:3px solid var(--cmc-accent-cyan);outline-offset:4px}.sidebar{color:#fff;background:#08233e;flex-direction:column;gap:28px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{grid-template-columns:36px 1fr;align-items:center;column-gap:10px;display:grid}.brand-logo{border-radius:24px;grid-row:span 2;width:36px;height:36px}.brand .eyebrow,.brand h1{grid-column:2}.sidebar h1{margin:1px 0 0;font-size:18px;line-height:1.05}.eyebrow{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.sidebar .eyebrow{color:#cfeaf5}.nav-groups,.nav-links{flex-direction:column;gap:10px;display:flex}.nav-group{flex-direction:column;gap:8px;display:flex}.nav-group h2{color:#667a91;text-transform:uppercase;margin:10px 10px 0;font-size:12px}.nav-link{color:#f2fafd;border-radius:8px;padding:11px 12px;font-size:14px;font-weight:800}.nav-link:hover,.nav-link.active{color:#fff;background:#005bac}.content{min-width:0;padding:38px 44px}.page-shell{flex-direction:column;gap:18px;max-width:1280px;display:flex}.page-heading h2{color:var(--ink);margin:6px 0;font-size:clamp(28px,4vw,46px);line-height:1.04}.description{max-width:720px;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.page-body{flex-direction:column;gap:18px;display:flex}.stat-grid,.panel-grid,.kanban-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.stat-card,.feature-panel,.order-card,.table-shell,.login-card,.qr-card,.kanban-column,.kitchen-lane{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:22px}.stat-card{padding:16px}.stat-card p,.panel-kicker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:900}.stat-card strong{color:var(--ink);font-size:26px;line-height:1;display:block}.stat-card span,.feature-panel p,.menu-item p,.ticket-card p,.kitchen-ticket p,.qr-card p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.action-row{flex-wrap:wrap;gap:12px;display:flex}.button{color:var(--ink);background:#fff;border:1px solid #cfeaf5;border-radius:16px;justify-content:center;align-items:center;padding:12px 16px;font-weight:900;display:inline-flex}.button.primary{border-color:var(--teal);background:var(--teal);color:#fff}.feature-panel,.kanban-column,.kitchen-lane{padding:18px}.feature-panel h3,.kanban-column h3,.kitchen-lane h3,.qr-card h3,.menu-item h3,.timeline-step h3{color:var(--ink);margin:0;font-size:16px}.search-shell{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:14px 16px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip,.mini-badge{width:max-content;color:var(--ink);background:#fff;border-radius:999px;align-items:center;padding:7px 13px;font-size:13px;font-weight:800;display:inline-flex}.chip{border:1px solid var(--line)}.chip.active,.mini-badge.placed{background:var(--blue);color:#fff}.mini-badge{padding:4px 10px}.mini-badge.ready{color:var(--ready);background:#f2fafd}.mini-badge.preparing{color:var(--warn);background:#eaf7fc}.mini-badge.muted,.mini-badge.pending{color:var(--muted);background:#eaf7fc}.menu-list{flex-direction:column;gap:10px;display:flex}.menu-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:68px 1fr auto;align-items:center;gap:14px;padding:12px;display:grid}.item-thumb,.qr-preview{background:#eaf7fc;border-radius:8px;place-items:center;display:grid}.item-thumb{width:68px;height:68px}.item-thumb:after{background:var(--blue);content:"";opacity:.45;border-radius:7px;width:28px;height:28px}.qr-card{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.qr-preview{width:110px;height:110px;box-shadow:inset 0 0 0 1px var(--line);background:linear-gradient(90deg,#08233e 12px,#0000 12px) 0 0/24px 24px,linear-gradient(#08233e 12px,#0000 12px) 0 0/24px 24px,#fff;border:8px solid #fff}.qr-preview span{background:var(--blue);color:#fff;border-radius:999px;padding:7px 9px;font-weight:900}.order-card{overflow:hidden}.order-line,.order-total{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:16px 18px;display:flex}.order-total{background:#f2fafd;border-bottom:0}.timeline{gap:12px;display:grid}.timeline-step{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:38px 1fr;align-items:center;gap:12px;padding:14px;display:grid}.timeline-step span{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:999px;place-items:center;font-weight:900;display:grid}.chat-shell{flex-direction:column;gap:10px;max-width:680px;display:flex}.message{max-width:80%;color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:12px 14px}.message.customer{background:var(--blue);color:#fff;align-self:flex-end}.login-card{gap:14px;max-width:420px;padding:18px;display:grid}.login-card label{color:var(--ink);gap:7px;font-weight:800;display:grid}.login-card input{border:1px solid var(--line);border-radius:8px;padding:12px}.auth-helper,.auth-error,.auth-role-hints{margin:0;font-size:.92rem;line-height:1.5}.auth-helper{color:var(--muted)}.auth-error{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px}.auth-role-hints{color:var(--muted);gap:4px;display:grid}.table-shell{overflow:hidden}.table-row{border-bottom:1px solid var(--line);grid-template-columns:1fr .7fr .8fr .6fr;align-items:center;gap:12px;padding:14px 16px;display:grid}.table-row:last-child{border-bottom:0}.table-head{color:var(--muted);text-transform:uppercase;background:#eaf7fc;font-size:12px;font-weight:900}.table-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.table-tile{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.table-tile span{color:var(--muted);font-size:13px;font-weight:900}.table-tile strong{margin-top:18px;display:block}.ticket-card,.kitchen-ticket{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.kitchen-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.kitchen-lane{background:#08233e;border-color:#cfeaf5;flex-direction:column;gap:10px;display:flex}.kitchen-lane h3,.kitchen-ticket strong{color:#fff}.kitchen-ticket{background:#08233e;border-color:#cfeaf5}.operations-shell{background:radial-gradient(circle at 12% 8%,#005bac14,#0000 28%),linear-gradient(#f2fafd 0%,#eaf7fc 100%)}.operations-shell .sidebar{background:radial-gradient(circle at 12% 10%,#ffe8d71f,#0000 32%),linear-gradient(#08233e 0% 100%);box-shadow:16px 0 42px #005bac14}.operations-shell .brand-mark{background:linear-gradient(135deg,#005bac 0%,#08bcef 100%);box-shadow:0 10px 24px #005bac2e}.operations-shell .sidebar .eyebrow,.operations-shell .nav-group h2{color:#cfeaf5}.operations-shell .nav-link{color:#f2fafd}.operations-shell .nav-link:hover,.operations-shell .nav-link.active{color:#fff;background:#ffe8d724}.operations-shell .content{background:radial-gradient(circle at 88% 0,#005bac14,#0000 26%),0 0}.operations-shell .page-shell{width:min(100%,1180px)}.operations-shell .page-heading{border:1px solid var(--cmc-line);box-shadow:var(--shadow);background:radial-gradient(circle at 92% 20%,#005bac14,#0000 24%),linear-gradient(135deg,#f2fafd 0% 100%);border-radius:24px;padding:18px}.operations-shell .page-heading h2{color:#08233e;font-size:clamp(28px,3.4vw,44px)}.operations-shell .description{color:var(--cmc-muted)}.operations-shell .stat-card,.operations-shell .feature-panel,.operations-shell .order-card,.operations-shell .table-shell,.operations-shell .login-card,.operations-shell .qr-card,.operations-shell .kanban-column,.operations-shell .table-tile,.operations-shell .ticket-card{border-color:var(--cmc-line);box-shadow:var(--shadow);background:#ffffffe6}.operations-shell .stat-card p,.operations-shell .panel-kicker{color:var(--color-primary-hover)}.operations-shell .stat-card strong,.operations-shell .feature-panel h3,.operations-shell .kanban-column h3,.operations-shell .table-tile strong,.operations-shell .ticket-card strong{color:#08233e}.operations-shell .table-head,.operations-shell .order-total{color:var(--color-primary-hover);background:#eaf7fc}.operations-shell .button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 14px 30px #005bac2e}.auth-sidebar-card{border:1px solid var(--cmc-line);background:#ffffffd1;border-radius:8px;gap:6px;margin:18px;padding:14px;display:grid}.auth-sidebar-card span,.auth-sidebar-card small{color:var(--cmc-muted)}.auth-sidebar-card strong{color:var(--cmc-brown)}.auth-sidebar-card button{border:1px solid var(--cmc-line);color:var(--cmc-brown);background:#fff;border-radius:999px;justify-self:start;padding:8px 12px;font-weight:800}.operations-shell .login-card input{border-color:var(--cmc-line);color:var(--cmc-brown);background:#f2fafd}.operations-shell .mini-badge.placed,.operations-shell .chip.active{background:var(--color-primary)}.operations-shell .kitchen-lane{background:radial-gradient(circle at 92% 8%,#005bac1f,#0000 26%),#08233e;border-color:#005bac}.operations-shell .kitchen-ticket{background:#f2fafd14;border-color:#ffe8d72e}.operations-shell .kitchen-ticket p{color:#cfeaf5}.operations-shell .message.customer{background:var(--color-primary)}.operations-shell .message.assistant{border:1px solid var(--cmc-line)}.admin-workspace{gap:16px;display:grid}.admin-toolbar,.admin-panel,.admin-state-panel{border:1px solid var(--cmc-line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:24px}.admin-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.admin-toolbar h3,.admin-toolbar p,.admin-panel h3,.admin-panel h4,.admin-panel p{margin:0}.admin-toolbar h3,.admin-panel h3{color:#08233e;font-size:22px}.admin-toolbar p,.admin-panel p,.admin-state-panel p,.admin-detail-grid dt,.admin-order-card small{color:var(--cmc-muted)}.admin-category-strip{scrollbar-width:thin;gap:9px;padding-bottom:3px;display:flex;overflow-x:auto}.admin-chip{border:1px solid var(--cmc-line);color:var(--cmc-muted);cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:10px 14px;font-weight:900}.admin-chip.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.admin-split-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.admin-split-layout.orders{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)}.admin-panel{gap:14px;padding:18px;display:grid}.admin-panel-heading,.admin-detail-heading,.admin-row-actions,.admin-action-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-menu-table,.admin-order-list,.admin-order-items,.admin-form,.admin-category-summary{gap:10px;display:grid}.admin-menu-row{border:1px solid var(--cmc-line);background:#f2fafd;border-radius:22px;grid-template-columns:86px minmax(0,1fr) minmax(150px,auto);align-items:center;gap:14px;padding:12px;display:grid}.admin-menu-row img{object-fit:cover;border-radius:20px;width:86px;height:74px}.admin-menu-row h4{color:#08233e;font-size:17px}.admin-tag-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.admin-tag-row span{color:var(--cmc-muted);background:#eaf7fc;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.admin-row-actions{flex-direction:column;align-items:end}.admin-row-actions button,.admin-order-card{border:1px solid var(--cmc-line);color:var(--cmc-brown);cursor:pointer;background:#fff;border-radius:999px;font-weight:900}.admin-row-actions button{padding:8px 11px}.admin-status{width:max-content;color:var(--cmc-muted);background:#eaf7fc;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.admin-status-available,.admin-status-ready,.admin-status-paid{color:var(--ready);background:#f2fafd}.admin-status-unavailable,.admin-status-pending{color:var(--cmc-muted);background:#eaf7fc}.admin-status-placed{color:var(--color-primary-hover);background:#eaf7fc}.admin-status-preparing{color:var(--warn);background:#eaf7fc}.admin-status-confirmed,.admin-status-served,.admin-status-delivered,.admin-status-completed,.admin-status-serving{color:var(--ready);background:#f2fafd}.admin-status-cancelled,.admin-status-cleaning{color:#005bac;background:#eaf7fc}.admin-status-refunded{color:#b42318;background:#fbeae8}.admin-toolbar-metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-toolbar-metrics span,.ops-health-row span{border:1px solid var(--cmc-line);color:var(--color-primary-hover);white-space:nowrap;background:#f2fafd;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.admin-helper-note{border-top:1px solid var(--cmc-line);color:var(--cmc-muted);padding-top:12px;font-size:13px;line-height:1.55}.ops-dashboard-grid,.staff-workspace{gap:16px;display:grid}.ops-dashboard-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.ops-hero-panel,.ops-panel,.qr-table-card,.staff-lane{border:1px solid var(--cmc-line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:24px}.ops-hero-panel,.ops-panel{padding:16px}.ops-hero-panel{background:radial-gradient(circle at 92% 12%,#005bac14,#0000 28%),linear-gradient(135deg,#f2fafd 0%,#eaf7fc 100%);align-content:space-between;gap:18px;display:grid}.ops-hero-panel h3,.ops-hero-panel p,.ops-panel h3,.ops-panel p,.staff-lane h3,.staff-lane p{margin:0}.ops-hero-panel h3{color:#08233e;max-width:520px;font-size:clamp(24px,3vw,36px);line-height:1.05}.ops-hero-panel p,.ops-feature-card p,.ops-checklist,.staff-ticket p,.staff-ticket small,.qr-meta dt,.qr-table-card code{color:var(--cmc-muted)}.ops-health-row,.ops-feature-list{flex-wrap:wrap;gap:8px;display:flex}.ops-feature-card{border:1px solid var(--cmc-line);background:#f2fafd;border-radius:20px;flex:180px;padding:13px}.ops-feature-card span,.staff-ticket-meta span{color:var(--color-primary-hover);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.ops-feature-card strong{color:#08233e;margin-top:7px;font-size:17px;display:block}.ops-checklist{gap:10px;margin:0;padding-left:22px;line-height:1.55;display:grid}.ops-order-table{box-shadow:none}.qr-management-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.qr-table-card{grid-template-columns:124px minmax(0,1fr);gap:16px;padding:16px;display:grid}.qr-preview-block{width:124px;min-height:124px;box-shadow:inset 0 0 0 1px var(--cmc-line), 0 14px 26px #005bac14;background:linear-gradient(90deg,#08233e 12px,#0000 12px) 0 0/24px 24px,linear-gradient(#08233e 12px,#0000 12px) 0 0/24px 24px,#f2fafd;border:10px solid #fff;border-radius:24px;place-items:center;display:grid;position:relative}.qr-preview-block span{background:var(--color-primary);color:#fff;border-radius:999px;padding:7px 10px;font-weight:900}.qr-table-content{gap:12px;min-width:0;display:grid}.qr-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.qr-meta div{border:1px solid var(--cmc-line);background:#f2fafd;border-radius:20px;padding:10px}.qr-meta dt,.qr-meta dd{margin:0}.qr-meta dd{color:#08233e;font-weight:900}.qr-table-card code{border:1px solid var(--cmc-line);text-overflow:ellipsis;white-space:nowrap;background:#f2fafd;border-radius:20px;padding:10px;display:block;overflow:hidden}.staff-board{grid-template-columns:repeat(4,minmax(210px,1fr));gap:14px;display:grid}.staff-lane{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both;flex-direction:column;gap:12px;padding:14px;display:flex}.staff-lane:nth-child(2){animation-delay:50ms}.staff-lane:nth-child(3){animation-delay:.1s}.staff-lane:nth-child(4){animation-delay:.15s}.staff-lane .realtime-lane-heading{align-items:flex-start;margin-bottom:0}.staff-ticket{border:1px solid var(--cmc-line);animation:fade-in-up var(--duration-base) var(--ease-decelerate) both;background:#f2fafd;border-radius:20px;gap:12px;padding:13px;display:grid}.staff-ticket-meta{gap:3px;display:grid}.staff-ticket-meta strong{color:#08233e}.staff-ticket ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.staff-ticket li{color:var(--cmc-brown);justify-content:space-between;gap:12px;display:flex}.staff-action-row{flex-wrap:wrap;gap:8px;display:flex}.staff-action-row .button{flex:auto;min-height:40px;padding:9px 11px}.staff-payment-group{gap:12px;display:grid}.staff-payment-group+.staff-payment-group{margin-top:22px}.staff-section-title{color:#08233e;margin:0;font-size:15px}.staff-refund-confirm{background:#fdf3f2;border:1px solid #f2c5bf;border-radius:16px;gap:8px;padding:12px;display:grid}.staff-refund-confirm label{color:var(--cmc-brown);gap:6px;font-size:13px;font-weight:800;display:grid}.staff-refund-confirm input{border:1px solid var(--cmc-line);width:100%;min-height:40px;color:var(--cmc-ink);background:#fff;border-radius:12px;padding:8px 11px}.staff-refund-confirm input:focus{border-color:#b42318;outline:3px solid #b4231829}.staff-refund-warning{color:#b42318;margin:0;font-size:12px;font-weight:700}.admin-form label,.admin-check-row{color:var(--cmc-brown);gap:7px;font-weight:900;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--cmc-line);width:100%;color:var(--cmc-brown);outline-color:var(--color-primary);background:#f2fafd;border-radius:20px;padding:11px 12px}.admin-form textarea{resize:vertical;min-height:92px}.admin-check-row{grid-template-columns:auto 1fr;align-items:center}.admin-category-summary{border-top:1px solid var(--cmc-line);padding-top:14px}.admin-category-summary div,.admin-detail-grid div,.admin-order-items article{justify-content:space-between;gap:12px;display:flex}.admin-category-summary span,.admin-detail-grid dd{color:var(--color-primary-hover);font-weight:900}.admin-order-card{text-align:left;border-radius:22px;grid-template-columns:.8fr 1fr auto auto;align-items:center;gap:8px 12px;padding:13px;display:grid}.admin-order-card.active{border-color:var(--color-primary);background:#eaf7fc}.admin-order-card span,.admin-order-card b{color:var(--color-primary-hover)}.admin-order-card small{grid-column:1/3}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-detail-grid div,.admin-order-items article,.admin-state-panel{border:1px solid var(--cmc-line);background:#f2fafd;border-radius:20px;padding:12px}.admin-detail-grid dt,.admin-detail-grid dd{margin:0}.admin-order-items article{display:grid}.admin-order-items article div{justify-content:space-between;gap:12px;display:flex}@media (width<=860px){.customer-topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 14px 10px}.landing-shell .customer-topbar{padding:10px 18px}.customer-menu-toggle{display:block}.customer-nav{z-index:30;background:#fff;border-radius:0 0 18px 18px;flex-direction:column;grid-column:auto;justify-content:flex-start;gap:0;margin:0;padding:8px 18px 14px;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;overflow:visible;box-shadow:0 22px 40px #003f7d24}.customer-nav.open{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both;display:flex}.customer-nav a{border-bottom:1px solid #e5f0f5;align-items:center;min-height:48px;padding:4px;display:flex}.customer-nav a:last-child{border-bottom:0}.customer-nav a:after{display:none}.landing-shell .customer-content{padding:0}.customer-content{padding:18px 14px 42px}.app-shell{grid-template-columns:1fr;align-content:start}.sidebar{gap:14px;height:auto;padding:18px 20px;overflow:hidden}.brand{grid-template-columns:34px 1fr}.brand-mark{width:34px;height:34px}.sidebar h1{font-size:20px}.nav-groups{scroll-snap-type:x proximity;scrollbar-width:thin;flex-direction:row;gap:10px;width:100%;padding-bottom:6px;display:flex;overflow-x:auto}.nav-group{flex-direction:row;flex:none;gap:10px}.nav-group h2{display:none}.nav-links{flex-direction:row;gap:10px}.nav-link{scroll-snap-align:start;white-space:nowrap;flex:none}.content{padding:26px 20px 34px}.page-heading h2{font-size:36px}.kitchen-board,.menu-item,.qr-card,.table-row{grid-template-columns:1fr}.item-thumb{display:none}}.admin-table-qr-workspace{--table-qr-navy:#08233e;--table-qr-blue:#005bac;--table-qr-cyan:#08bcef;--table-qr-paper:#f5f8f8;--table-qr-line:#d6e1e5;--table-qr-jade:#167864;--table-qr-amber:#b66716;gap:22px;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;display:grid}.table-qr-command{color:#fff;background:linear-gradient(90deg,#08bcef14 1px,#0000 1px) 0 0/54px 100%,linear-gradient(135deg,#08233e 0%,#0a3456 68%,#075185 100%);border:1px solid #154a73;border-radius:28px;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:end;gap:clamp(30px,5vw,72px);padding:clamp(28px,4vw,52px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 54px #08233e33}.table-qr-command:after{content:"";pointer-events:none;border:56px solid #08bcef14;border-radius:50%;width:310px;height:310px;position:absolute;top:-112px;right:-84px}.table-qr-command-copy,.table-qr-command-stats{z-index:1;position:relative}.table-qr-kicker{color:var(--table-qr-blue);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.table-qr-command .table-qr-kicker{color:#7ee2fa}.table-qr-command h3,.table-qr-command p,.table-qr-sidebar h3,.table-qr-sidebar p,.table-zone h3,.table-copy-feedback{margin:0}.table-qr-command h3{color:#fff;letter-spacing:-.04em;text-wrap:balance;max-width:760px;margin-top:13px;font-size:clamp(28px,3.5vw,48px);font-weight:600;line-height:1.04}.table-qr-command p{color:#c9dce8;max-width:700px;margin-top:18px;font-size:15px;line-height:1.7}.table-qr-command-stats{border-top:1px solid #fff3;border-bottom:1px solid #fff3;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.table-qr-command-stats div{gap:8px;padding:18px 16px;display:grid}.table-qr-command-stats div+div{border-left:1px solid #fff3}.table-qr-command-stats dt,.table-qr-command-stats dd{margin:0}.table-qr-command-stats dt{color:#a9c4d5;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.table-qr-command-stats dd{color:#fff;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:clamp(23px,2.4vw,34px);font-weight:700;line-height:1}.table-qr-layout{grid-template-columns:minmax(220px,270px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.table-qr-sidebar{gap:14px;display:grid;position:sticky;top:20px}.table-qr-legend,.table-qr-route-note,.table-zone{border:1px solid var(--table-qr-line);background:#fff;box-shadow:0 18px 42px #08233e12}.table-qr-legend,.table-qr-route-note{border-radius:22px;padding:20px}.table-qr-sidebar-heading h3{color:var(--table-qr-navy);letter-spacing:-.025em;margin-top:8px;font-size:20px}.table-qr-legend ul{gap:2px;margin:18px 0 0;padding:0;list-style:none;display:grid}.table-qr-legend li{border-top:1px solid #e7edef;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 0;display:grid}.table-status-dot,.table-status-label i{background:#8ca1af;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #8ca1af24}.table-status-dot.is-available,.table-status-label.is-available i{background:var(--table-qr-jade);box-shadow:0 0 0 4px #16786421}.table-status-dot.is-serving,.table-status-label.is-serving i{background:var(--table-qr-blue);box-shadow:0 0 0 4px #005bac21}.table-status-dot.is-cleaning,.table-status-label.is-cleaning i{background:var(--table-qr-amber);box-shadow:0 0 0 4px #b6671621}.table-qr-legend li div{gap:3px;display:grid}.table-qr-legend strong,.table-qr-legend b{color:var(--table-qr-navy)}.table-qr-legend small{color:#6d818f;font-size:11px;line-height:1.35}.table-qr-legend b{font-family:ui-monospace,Cascadia Code,monospace;font-size:18px}.table-qr-route-note{background:var(--table-qr-paper)}.table-qr-route-note code{color:var(--table-qr-navy);margin-top:10px;font-family:ui-monospace,Cascadia Code,monospace;font-size:14px;font-weight:700;display:block}.table-qr-route-note p{color:#647987;margin-top:12px;font-size:12px;line-height:1.55}.table-zone-list{gap:18px;min-width:0;display:grid}.table-zone{border-radius:24px;overflow:hidden}.table-zone-heading{border-bottom:1px solid var(--table-qr-line);background:var(--table-qr-paper);justify-content:space-between;align-items:end;gap:16px;padding:18px 20px;display:flex}.table-zone-heading h3{color:var(--table-qr-navy);letter-spacing:-.03em;margin-top:5px;font-size:22px}.table-zone-heading>span{color:#6d818f;font-family:ui-monospace,Cascadia Code,monospace;font-size:12px;font-weight:700}.table-zone-grid{background:var(--table-qr-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.table-qr-card{background:#fff;gap:18px;min-width:0;padding:20px;display:grid;position:relative}.table-qr-card:before{background:var(--table-qr-jade);content:"";width:4px;position:absolute;inset:0 auto 0 0}.table-qr-card.is-serving:before{background:var(--table-qr-blue)}.table-qr-card.is-cleaning:before{background:var(--table-qr-amber)}.table-qr-card-heading,.table-qr-actions,.table-qr-asset{justify-content:space-between;align-items:center;gap:14px;display:flex}.table-number-plate{align-items:baseline;gap:8px;display:flex}.table-number-plate span{color:#6f8492;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.table-number-plate strong{color:var(--table-qr-navy);letter-spacing:-.05em;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:27px}.table-status-label{color:#536a78;white-space:nowrap;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.table-status-label i{width:7px;height:7px;display:block}.table-qr-card-body{gap:18px;display:grid}.table-qr-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.table-qr-meta div{border-top:1px solid #dce5e8;gap:5px;padding-top:10px;display:grid}.table-qr-meta dt,.table-qr-meta dd{margin:0}.table-qr-meta dt,.table-qr-link-copy>span{color:#7b8e9a;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.table-qr-meta dd{color:var(--table-qr-navy);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.table-qr-asset{border:1px solid var(--table-qr-line);background:var(--table-qr-paper);border-radius:16px;align-items:stretch;padding:10px}.table-qr-preview{background:linear-gradient(90deg, var(--table-qr-navy) 5px, transparent 5px) 0 0 / 10px 10px, linear-gradient(var(--table-qr-navy) 5px, transparent 5px) 0 0 / 10px 10px, #fff;border:6px solid #fff;flex:0 0 82px;place-items:center;width:82px;height:82px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 18px #08233e1f}.table-qr-preview .finder{border:5px solid var(--table-qr-navy);width:21px;height:21px;box-shadow:inset 0 0 0 3px #fff, inset 0 0 0 7px var(--table-qr-navy);background:#fff;position:absolute}.table-qr-preview .top-left{top:2px;left:2px}.table-qr-preview .top-right{top:2px;right:2px}.table-qr-preview .bottom-left{bottom:2px;left:2px}.table-qr-preview>span{z-index:1;background:var(--table-qr-blue);color:#fff;border-radius:3px;padding:4px 6px;font-family:ui-monospace,Cascadia Code,monospace;font-size:9px;font-weight:700;position:relative}.table-qr-image{justify-items:center;gap:6px;width:96px;display:grid}.table-qr-image img{background:#fff;border-radius:10px;width:96px;height:96px;box-shadow:0 8px 18px #08233e1f}.table-qr-image.is-loading,.table-qr-image.is-error{border:1px dashed var(--table-qr-line);color:#7b8e9a;text-align:center;border-radius:10px;place-items:center;width:96px;height:96px;font-size:10px;font-weight:700;display:grid}.table-qr-download{color:var(--table-qr-navy);font-size:10px;font-weight:700;text-decoration:underline}.table-qr-link-copy{flex:1;align-content:center;gap:7px;min-width:0;display:grid}.table-qr-link-copy code{color:#314d60;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;overflow:hidden}.table-qr-actions{justify-content:flex-start}.table-qr-actions a,.table-qr-actions button{min-height:42px;color:var(--table-qr-navy);cursor:pointer;background:#fff;border:1px solid #bfd0d9;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font:700 12px/1 Manrope,sans-serif;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-flex}.table-qr-actions a{border-color:var(--table-qr-blue);background:var(--table-qr-blue);color:#fff}.table-qr-actions a:hover,.table-qr-actions button:hover{border-color:var(--table-qr-navy);background:var(--table-qr-navy);color:#fff;transform:translateY(-1px)}.table-qr-actions a:focus-visible,.table-qr-actions button:focus-visible{outline-offset:3px;outline:3px solid #08bcef57}.table-copy-feedback{color:#126552;background:#eaf6f3;border-radius:8px;padding:9px 11px;font-size:11px;font-weight:700}.table-copy-feedback.is-error{color:#93500d;background:#fff3e5}@media (width<=1180px){.table-qr-command{grid-template-columns:1fr}.table-qr-command-stats{max-width:620px}.table-qr-layout{grid-template-columns:220px minmax(0,1fr)}.table-zone-grid{grid-template-columns:1fr}}@media (width<=860px){.table-qr-layout{grid-template-columns:1fr}.table-qr-sidebar{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);position:static}.table-qr-legend ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.table-qr-legend li{border:1px solid #e2e9ec;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;padding:12px}.table-qr-legend li b{grid-column:2}}@media (width<=620px){.admin-table-qr-workspace{gap:16px}.table-qr-command{border-radius:22px;padding:26px 20px}.table-qr-command h3{font-size:31px}.table-qr-command-stats{border-bottom:0;grid-template-columns:1fr}.table-qr-command-stats div{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:13px 0}.table-qr-command-stats div+div{border-top:1px solid #fff3;border-left:0}.table-qr-sidebar,.table-qr-legend ul{grid-template-columns:1fr}.table-zone-heading{padding:16px}.table-qr-card{padding:18px 16px}.table-qr-card-heading,.table-qr-asset{align-items:flex-start}.table-qr-asset{grid-template-columns:96px minmax(0,1fr);display:grid}.table-qr-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.table-qr-actions a,.table-qr-actions button{width:100%;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.table-qr-actions a,.table-qr-actions button{transition:none}.table-qr-actions a:hover,.table-qr-actions button:hover{transform:none}}@media (width<=860px){.operations-shell .sidebar{z-index:18;position:sticky;box-shadow:0 12px 34px #005bac1a}.operations-shell .content{padding:20px 14px 36px}.operations-shell .page-heading{padding:18px}.admin-toolbar,.admin-panel-heading,.admin-detail-heading,.admin-action-row{flex-direction:column;align-items:stretch}.admin-split-layout,.admin-split-layout.orders,.admin-menu-row,.admin-order-card,.admin-detail-grid{grid-template-columns:1fr}.admin-menu-row img{width:100%;height:170px}.admin-row-actions{align-items:stretch}.admin-order-card small{grid-column:auto}.admin-toolbar-metrics{justify-content:flex-start}.ops-dashboard-grid{grid-template-columns:1fr}.qr-management-grid,.staff-board{scroll-snap-type:x proximity;scrollbar-width:thin;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.qr-table-card,.staff-lane{scroll-snap-align:start;flex:0 0 min(86vw,360px)}.qr-table-card{grid-template-columns:1fr}.qr-preview-block{width:100%;min-height:180px}}.button.danger{color:#dc2626;background:#fff1f2;border-color:#fca5a5}.button.danger:hover{background:#fee2e2}.login-premium-layout{width:min(100%,520px);max-width:520px;margin:0 auto;display:grid}.login-form-section{flex-direction:column;gap:14px;display:flex}.login-form-section h3{color:var(--ink);margin:0 0 4px;font-size:20px}.login-premium-layout-centered{place-items:center;min-height:min(620px,100vh - 220px)}.login-card-glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;width:100%;max-width:520px}.login-form-header{margin-bottom:4px}.login-form-header h3{color:var(--ink);margin:4px 0 0;font-size:18px}.login-back-link{text-align:center;color:var(--muted);margin-top:4px;font-size:14px;font-weight:600;display:block}.login-back-link:hover{color:var(--blue)}@media (width<=768px){.login-premium-layout{grid-template-columns:1fr}}.admin-category-list{flex-direction:column;gap:6px;padding:14px;display:flex}.admin-category-card{border:1.5px solid var(--line);cursor:pointer;text-align:left;font:inherit;color:var(--ink);background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:all .16s;display:grid}.admin-category-card:hover{border-color:var(--blue);box-shadow:0 4px 16px #005bac14}.admin-category-card.active{border-color:var(--blue);background:var(--blue-soft)}.admin-category-card-info{flex-direction:column;gap:2px;display:flex}.admin-category-card-info strong{font-size:15px}.admin-category-card-info small{color:var(--muted);font-family:monospace;font-size:12px}.admin-category-card-meta{align-items:center;gap:10px;display:flex}.admin-category-order{color:var(--muted);font-size:13px;font-weight:700}.admin-role-selector{flex-direction:column;gap:6px;margin-top:4px;display:flex}.admin-role-option{border:1.5px solid var(--line);cursor:pointer;text-align:left;font:inherit;color:var(--ink);background:#fff;border-radius:12px;grid-template-columns:40px 1fr;align-items:center;gap:10px;padding:12px 14px;transition:all .16s;display:grid}.admin-role-option:hover{border-color:var(--blue)}.admin-role-option.active{border-color:var(--blue);background:var(--blue-soft)}.admin-role-option strong{font-size:14px;display:block}.admin-role-option small{color:var(--muted);font-size:12px}.admin-role-icon{border-radius:10px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.admin-role-icon.role-admin{background:#ede9fe}.admin-role-icon.role-staff{background:#e0f2fe}.admin-role-icon.role-kitchen{background:#fff7ed}.admin-role-icon.role-customer{background:#ecfdf5}.admin-seed-accounts{flex-direction:column;gap:8px;padding:14px;display:flex}.admin-seed-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.admin-seed-card strong{font-size:14px;display:block}.admin-seed-card code{color:var(--blue);margin-top:2px;font-size:12px;display:block}.admin-seed-card small{color:var(--muted);margin-top:1px;font-size:11px;display:block}.admin-form-note.is-error{color:#dc2626;background:#fff1f2;border:1px solid #fca5a5;border-radius:8px;padding:8px 12px}.payment-request-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3d29148c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.payment-request-modal{color:#3d2914;background:#fff;border:1px solid #e8dfd0;border-radius:24px;gap:18px;width:min(100%,520px);max-height:90vh;padding:22px 24px 24px;display:grid;overflow-y:auto;box-shadow:0 32px 80px #3d291440}.payment-request-header,.payment-request-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-request-header h3,.payment-request-copy{margin:0}.payment-request-header h3{margin-top:4px;font-family:Playfair Display,Georgia,serif;font-size:22px}.payment-request-copy{color:#6f5a43;font-size:14px;line-height:1.55}.payment-request-options{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.payment-request-options legend{margin-bottom:8px;font-size:14px;font-weight:700}.payment-request-options label{cursor:pointer;background:#fffbf5;border:2px solid #e8dfd0;border-radius:16px;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;min-height:72px;padding:12px 14px;display:grid}.payment-request-options label.is-selected{background:#5a3a3012;border-color:#5a3a30}.payment-request-options input{accent-color:#5a3a30;width:18px;height:18px}.payment-request-options svg{color:#5a3a30}.payment-request-options span{gap:3px;display:grid}.payment-request-options small{color:#6f5a43;font-size:12px}.payment-request-actions{justify-content:flex-end}.cmc-payment-request-submit{color:#fff;cursor:pointer;background:#5a3a30;border:0;border-radius:14px;min-height:48px;padding:0 22px;font-size:14px;font-weight:700}.cmc-payment-request-submit:active{transform:scale(.98)}.cmc-payment-request-submit:disabled,.payment-request-actions button:disabled,.payment-request-header button:disabled{cursor:not-allowed;opacity:.55}@media (width<=520px){.payment-request-overlay{align-items:end;padding:0}.payment-request-modal{width:100%;max-height:100dvh;padding:20px 16px max(20px, env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.payment-request-actions{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.cmc-payment-request-submit{transition:none}}.vietqr-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#5a3a3080;place-items:center;animation:.2s vqr-fadeIn;display:grid;position:fixed;inset:0}@keyframes vqr-fadeIn{0%{opacity:0}to{opacity:1}}.vietqr-modal{background:#fff;border-radius:24px;width:min(92vw,480px);max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) vqr-slideUp;overflow-y:auto;box-shadow:0 32px 80px #5a3a3040}@keyframes vqr-slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.vietqr-modal-header{border-bottom:1px solid #e8dfd0;justify-content:space-between;align-items:start;padding:22px 24px 14px;display:flex}.vietqr-modal-header .panel-kicker{letter-spacing:.06em;text-transform:uppercase;color:#c4a35a;font-size:11px;font-weight:700}.vietqr-modal-header h3{color:#3d2914;margin:4px 0 0;font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700}.vietqr-close{cursor:pointer;color:#8b7355;background:#fff;border:1px solid #e8dfd0;border-radius:10px;place-items:center;width:44px;height:44px;font-size:16px;transition:background .2s;display:grid}.vietqr-close:hover{background:#fdf8f0}.vietqr-content{padding:20px 24px 24px}.vietqr-loading,.vietqr-error{text-align:center;color:#8b7355;padding:40px 24px}.vietqr-qr-section{text-align:center;padding:8px 0 16px}.vietqr-qr-image{object-fit:contain;border:2px solid #e8dfd0;border-radius:16px;width:220px;height:220px}.vietqr-scan-hint{color:#8b7355;margin:10px 0 0;font-size:14px;font-weight:600}.vietqr-bank-info{margin-top:12px}.vietqr-bank-info dl{gap:0;margin:0;display:grid}.vietqr-bank-info dl>div{border-bottom:1px solid #e8dfd0;grid-template-columns:120px 1fr;gap:8px;padding:10px 0;display:grid}.vietqr-bank-info dl>div:last-child{border-bottom:0}.vietqr-bank-info dt{color:#8b7355;font-size:13px;font-weight:700}.vietqr-bank-info dd{color:#3d2914;word-break:break-all;margin:0;font-size:14px;font-weight:600}.vietqr-bank-info code{color:#5a3a30;font-size:13px}.vietqr-status-bar{color:#5a3a30;background:#c4a35a1a;border-radius:12px;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.vietqr-polling-dot{background:#c4a35a;border-radius:50%;width:10px;height:10px;animation:1.5s infinite vqr-pulse}@keyframes vqr-pulse{0%,to{opacity:1}50%{opacity:.3}}.vietqr-success{text-align:center;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both;padding:16px 0}.vietqr-success-icon{color:#2f7d4f;width:64px;height:64px;animation:vqr-success-pop .46s var(--ease-emphasized) both;background:#2f7d4f14;border-radius:50%;place-items:center;margin-bottom:12px;font-size:32px;font-weight:900;display:inline-grid}@keyframes vqr-success-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.vietqr-success h4{color:#2f7d4f;margin:0 0 6px;font-family:Playfair Display,Georgia,serif;font-size:20px}.vietqr-success p{color:#8b7355;margin:0 0 16px;font-size:14px}.vietqr-success .button.primary{color:#fff;cursor:pointer;background:#5a3a30;border:none;border-radius:12px;padding:12px 24px;font-weight:700}.vietqr-success .button.primary:hover{background:#6e453b}@media (width<=520px){.vietqr-overlay{align-items:end}.vietqr-modal{border-radius:24px 24px 0 0;width:100%;max-height:100dvh}.vietqr-modal-header{padding:18px 16px 12px}.vietqr-content{padding:16px max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.vietqr-qr-image{width:min(210px,62vw);height:min(210px,62vw)}.vietqr-bank-info dl>div{grid-template-columns:minmax(88px,.75fr) minmax(0,1.25fr)}.vietqr-success .button.primary{width:100%;min-height:44px}}.ops-order-table .table-row{grid-template-columns:1fr .7fr .7fr .7fr .6fr}.cmc-portal-content .stat-card{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.cmc-portal-content .stat-card:nth-child(2){animation-delay:60ms}.cmc-portal-content .stat-card:nth-child(3){animation-delay:.12s}.cmc-portal-content .stat-card:nth-child(4){animation-delay:.18s}.ops-dashboard-grid>*{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.ops-dashboard-grid>:nth-child(2){animation-delay:70ms}.ops-dashboard-grid>:nth-child(3){animation-delay:.14s}.ops-dashboard-grid>:nth-child(4){animation-delay:.21s}.ops-feature-card{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.ops-feature-card:nth-child(2){animation-delay:60ms}.ops-feature-card:nth-child(3){animation-delay:.12s}.admin-panel,.admin-menu-row,.admin-order-card,.qr-table-card{animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.admin-chip,.admin-row-actions button,.admin-order-card{transition:border-color .16s,background-color .16s,color .16s}.admin-chip:not(.active):hover,.admin-row-actions button:hover,.admin-order-card:not(.active):hover{border-color:var(--color-primary)}.cmc-portal-content .page-shell{gap:var(--space-5)}.cmc-portal-content .page-heading{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6) var(--space-5);background:radial-gradient(120% 150% at 100% 0%, #08bcef1f, transparent 48%), linear-gradient(135deg, #fff 0%, var(--color-bg) 100%);box-shadow:var(--elevation-1);position:relative;overflow:hidden}.cmc-portal-content .page-heading:before{content:"";background:linear-gradient(180deg, var(--color-primary), var(--color-cyan));width:5px;position:absolute;inset:0 auto 0 0}.cmc-portal-content .page-heading .eyebrow{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-primary);background:#fff;align-items:center;padding:5px 12px;display:inline-flex}.cmc-portal-content .page-heading h2{margin:var(--space-3) 0 var(--space-2);letter-spacing:-.02em;font-size:clamp(30px,3.4vw,44px);font-weight:800}.cmc-portal-content .stat-grid{gap:var(--space-4)}.cmc-portal-content .stat-card{padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.cmc-portal-content .stat-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-cyan));height:4px;position:absolute;inset:0 0 auto}.cmc-portal-content .stat-card:hover{border-color:var(--color-primary);box-shadow:var(--elevation-3)}.cmc-portal-content .stat-card strong{letter-spacing:-.02em;font-size:34px}.cmc-portal-content .ops-dashboard-grid,.cmc-portal-content .admin-workspace{gap:var(--space-5)}.cmc-portal-content .ops-hero-panel,.cmc-portal-content .ops-panel,.cmc-portal-content .admin-panel,.cmc-portal-content .admin-toolbar{padding:var(--space-5)}.admin-invoice-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-invoice-search{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-width:220px;padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard);outline:none}.admin-invoice-search:focus{border-color:var(--color-primary)}.admin-invoice-table-wrap{overflow-x:auto}.admin-invoice-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-invoice-table th,.admin-invoice-table td{padding:var(--space-3) var(--space-4);text-align:left;white-space:nowrap}.admin-invoice-table thead th{background:var(--color-bg-subtle);color:var(--color-muted);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--color-border)}.admin-invoice-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background var(--duration-fast) var(--ease-standard)}.admin-invoice-table tbody tr:hover{background:var(--color-primary-50)}.admin-invoice-backdrop{z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--duration-base) var(--ease-decelerate) both;background:#08233e80;place-items:center;display:grid;position:fixed;inset:0}.admin-invoice-modal{background:var(--color-card);border-radius:var(--radius-xl);width:min(640px,92vw);max-height:85vh;box-shadow:var(--elevation-4);animation:scale-in var(--duration-slow) var(--ease-emphasized) both;overflow-y:auto}.admin-invoice-modal-head{padding:var(--space-5);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.admin-invoice-modal-head h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary-dark);margin:0}.admin-invoice-modal-head button{background:var(--color-bg-subtle);width:36px;height:36px;color:var(--color-muted);font-size:var(--text-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);border:0;border-radius:50%;place-items:center;display:grid}.admin-invoice-modal-head button:hover{background:var(--color-border)}.admin-invoice-modal-body{padding:var(--space-5)}.admin-invoice-meta{gap:var(--space-2) var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-bg-subtle);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;display:grid}.admin-invoice-meta p{font-size:var(--text-sm);color:var(--color-muted);margin:0}.admin-invoice-meta p strong{color:var(--color-ink)}.admin-invoice-modal-body h4{margin:0 0 var(--space-3);font-size:var(--text-base);color:var(--color-ink)}.admin-invoice-items{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin-bottom:var(--space-5)}.admin-invoice-items th,.admin-invoice-items td{padding:var(--space-2) var(--space-3);text-align:left}.admin-invoice-items thead th{background:var(--color-bg-subtle);color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.admin-invoice-items tbody tr{border-bottom:1px solid var(--color-border-light)}.admin-invoice-items tfoot td{padding-top:var(--space-3);border-top:2px solid var(--color-border);font-size:var(--text-base)}.admin-invoice-refund{padding:var(--space-4);background:var(--color-danger-bg);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.admin-invoice-refund h4{color:var(--color-danger)}.admin-invoice-refund input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-sm);margin-bottom:var(--space-3)}@media print{.admin-invoice-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;position:static}.admin-invoice-modal{width:100%;max-height:none;box-shadow:none;border-radius:0}.admin-invoice-modal-head button,.admin-invoice-refund,.staff-workspace,.cmc-sidebar,.cmc-mobile-topbar{display:none!important}}.cmc-login-shell{min-height:100vh;padding:var(--space-4);font-family:var(--font-ui);background:linear-gradient(135deg,#f5fafe 0%,#e2f1f9 100%);justify-content:center;align-items:center;display:flex}.cmc-login-split-card{background:var(--color-card);border:1px solid var(--color-border-light);border-radius:24px;grid-template-columns:1.1fr 1fr;width:min(1000px,95vw);min-height:600px;display:grid;overflow:hidden;box-shadow:0 20px 40px #08233e14}.cmc-login-hero-side{padding:var(--space-8);color:#fff;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.cmc-login-hero-img-overlay{z-index:1;background:linear-gradient(#08233e1a 0%,#08233ebf 100%);position:absolute;inset:0}.cmc-login-hero-img{object-fit:cover;z-index:0;width:100%;height:100%;transition:transform 10s;position:absolute;inset:0}.cmc-login-split-card:hover .cmc-login-hero-img{transform:scale(1.05)}.cmc-login-hero-content{z-index:2;position:relative}.cmc-login-hero-badge{padding:4px var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-pill);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3);background:#fff3;font-weight:700;display:inline-block}.cmc-login-hero-side h2{font-family:var(--font-display);margin:0 0 var(--space-2);color:#fff;font-size:clamp(28px,3.5vw,44px);line-height:1.1}.cmc-login-hero-side p{font-size:var(--text-sm);color:#ffffffd9;line-height:var(--leading-relaxed);max-width:380px;margin:0}.cmc-login-form-side{padding:var(--space-8);background:#fff;justify-content:center;align-items:center;display:flex}.cmc-login-form-container{width:100%;max-width:380px}.cmc-login-form-header{margin-bottom:var(--space-6)}.cmc-login-form-header h1{font-family:var(--font-ui);font-size:var(--text-2xl);color:var(--color-primary-dark);margin:0 0 var(--space-1);font-weight:800}.cmc-login-form-header p{font-size:var(--text-sm);color:var(--color-muted);margin:0}.cmc-login-input-group{margin-bottom:var(--space-4)}.cmc-login-input-group label{font-size:var(--text-xs);color:var(--color-primary-dark);margin-bottom:var(--space-2);letter-spacing:.05em;font-weight:700;display:block}.cmc-login-input-wrapper{align-items:center;display:flex;position:relative}.cmc-login-input-icon{left:var(--space-3);color:var(--color-muted);pointer-events:none;align-items:center;display:flex;position:absolute}.cmc-login-input-wrapper input{width:100%;height:48px;padding:0 var(--space-4) 0 42px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-standard);background:#fafcff;outline:none;color:var(--color-ink)!important}.cmc-login-input-wrapper input:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 4px #005bac14}.cmc-login-password-toggle{right:var(--space-3);color:var(--color-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:0;align-items:center;display:flex;position:absolute}.cmc-login-password-toggle:hover{color:var(--color-primary)}.cmc-login-extra{margin-bottom:var(--space-5);font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.cmc-login-remember{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-muted);font-weight:600;display:flex}.cmc-login-remember input{cursor:pointer}.cmc-login-submit-btn{justify-content:center;align-items:center;gap:var(--space-2);background:var(--gradient-cta);border-radius:var(--radius-md);color:#fff;width:100%;height:48px;font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);border:0;font-weight:700;display:flex;box-shadow:0 4px 15px #005bac26}.cmc-login-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #005bac40}.cmc-login-submit-btn:active{transform:translateY(0)}.cmc-login-divider{text-align:center;margin:var(--space-5) 0;font-size:var(--text-xs);color:var(--color-muted);align-items:center;display:flex}.cmc-login-divider:before,.cmc-login-divider:after{content:"";border-bottom:1px solid var(--color-border-light);flex:1}.cmc-login-divider:not(:empty):before{margin-right:var(--space-3)}.cmc-login-divider:not(:empty):after{margin-left:var(--space-3)}.cmc-login-social-btns{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.cmc-social-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);height:40px;font-size:var(--text-xs);cursor:pointer;color:var(--color-ink);transition:background var(--duration-fast) var(--ease-standard);background:#fff;justify-content:center;align-items:center;font-weight:600;display:flex}.cmc-social-btn:hover{background:#fafcff;border-color:#cbd5e1}.cmc-facebook-btn{color:#1877f2}.cmc-google-btn{color:#ea4335}.cmc-login-footer{text-align:center;font-size:var(--text-xs);color:var(--color-muted);line-height:var(--leading-relaxed)}.cmc-login-footer a{color:var(--color-primary);font-weight:700;text-decoration:none}.cmc-login-footer a:hover{text-decoration:underline}.cmc-login-back-link{margin-top:var(--space-3);display:inline-block;color:var(--color-muted)!important;font-weight:600!important}.cmc-login-back-link:hover{color:var(--color-primary)!important}@media (width<=800px){.cmc-login-split-card{grid-template-columns:1fr}.cmc-login-hero-side{display:none}.cmc-login-form-side{padding:var(--space-6)}}.ops-board{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;padding:0;display:grid}.ops-board--kitchen{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px}.ops-board--staff{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px}.ops-board--kitchen .ops-column{gap:10px;min-width:0;padding:12px}.ops-board--kitchen .ops-card{padding:12px}.ops-card--priority-warning{box-shadow:inset 0 0 0 2px #f59e0b59}.ops-card--priority-urgent{animation:1.6s ease-in-out infinite kitchen-pulse;box-shadow:inset 0 0 0 2px #ef444473}@keyframes kitchen-pulse{0%,to{box-shadow:inset 0 0 0 2px #ef444459}50%{box-shadow:inset 0 0 0 2px #ef4444bf}}.kitchen-progress{background:#0f172a14;border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.kitchen-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#16a34a);height:100%;transition:width .25s}.kitchen-progress-label{color:var(--color-muted);margin:6px 0 0;font-size:12px}.kitchen-item-chip{cursor:pointer;font:inherit;border:1px solid #0000}.kitchen-item-chip:disabled{cursor:default}.kitchen-item-chip:not(:disabled):hover{border-color:var(--color-primary)}@media (width<=768px){.ops-board--kitchen .ops-card-actions .ops-btn{width:100%;min-height:44px;font-size:14px}.kitchen-item-chip{min-height:36px;padding:8px 10px}}.ops-column{background:var(--color-bg-subtle,#f5f7fa);outline-offset:-4px;border-radius:12px;outline:2px dashed #0000;flex-direction:column;gap:12px;min-height:400px;padding:16px;transition:background-color .16s,outline-color .16s,box-shadow .16s;display:flex}.ops-column--drop-target{background:color-mix(in srgb, var(--color-primary,#005bac) 9%, #f5f7fa);outline-color:var(--color-primary,#005bac);box-shadow:inset 0 0 0 1px #005bac24}.ops-drop-hint{border:1px dashed var(--color-primary,#005bac);color:var(--color-primary,#005bac);text-align:center;background:#ffffffb8;border-radius:8px;padding:8px;font-size:12px;font-weight:700}.ops-column-header{border-bottom:2px solid #0000;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 4px;display:flex}.ops-column-header h3{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.ops-column-header .ops-count{color:var(--color-muted);text-align:center;background:#00000014;border-radius:20px;min-width:28px;padding:2px 10px;font-size:12px;font-weight:600}.ops-column--confirmed{border-top:3px solid #f59e0b}.ops-column--confirmed .ops-column-header{border-bottom-color:#f59e0b}.ops-column--confirmed .ops-count{color:#92400e;background:#fef3c7}.ops-column--preparing{border-top:3px solid #ef4444}.ops-column--preparing .ops-column-header{border-bottom-color:#ef4444}.ops-column--preparing .ops-count{color:#991b1b;background:#fee2e2}.ops-column--ready{border-top:3px solid #22c55e}.ops-column--ready .ops-column-header{border-bottom-color:#22c55e}.ops-column--ready .ops-count{color:#166534;background:#dcfce7}.ops-column--placed{border-top:3px solid #3b82f6}.ops-column--placed .ops-column-header{border-bottom-color:#3b82f6}.ops-column--placed .ops-count{color:#1e40af;background:#dbeafe}.ops-column--served{border-top:3px solid #8b5cf6}.ops-column--served .ops-column-header{border-bottom-color:#8b5cf6}.ops-column--served .ops-count{color:#5b21b6;background:#ede9fe}.ops-column--payment{border-top:3px solid #06b6d4}.ops-column--payment .ops-column-header{border-bottom-color:#06b6d4}.ops-column--payment .ops-count{color:#155e75;background:#cffafe}.ops-column-body{flex-direction:column;flex:1;gap:10px;display:flex}.ops-column-empty{color:var(--color-muted);opacity:.6;flex:1;justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex}.ops-card{background:var(--color-card,#fff);cursor:pointer;border-left:4px solid #0000;border-radius:10px;padding:14px 16px;transition:box-shadow .2s,transform .15s;position:relative;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.ops-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.ops-card[draggable=true]{cursor:grab}.ops-card[draggable=true]:active{cursor:grabbing}.ops-card--dragging{opacity:.48;box-shadow:none;transform:scale(.98)rotate(-.4deg)}.ops-card--confirmed{border-left-color:#f59e0b}.ops-card--preparing{border-left-color:#ef4444}.ops-card--ready{border-left-color:#22c55e}.ops-card--placed{border-left-color:#3b82f6}.ops-card--served{border-left-color:#8b5cf6}.ops-card--highlight{outline:2px solid var(--ops-accent,#2563eb);outline-offset:2px;box-shadow:0 0 0 4px #2563eb1f}.ops-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ops-card-code{color:var(--color-ink);align-items:center;gap:3px;font-size:14px;font-weight:700;display:inline-flex}.ops-card-drag-handle{color:var(--color-muted);opacity:.65}.ops-card-table{background:var(--color-primary-50,#f0f7ff);color:var(--color-primary,#005bac);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.ops-card-meta{color:var(--color-muted);align-items:center;gap:10px;font-size:12px;display:flex}.ops-card-meta--badges{flex-wrap:wrap;align-items:flex-start;row-gap:6px}.ops-card-meta--badges .ops-badge{white-space:normal;max-width:100%;line-height:1.35}.ops-card-meta svg,.ops-card-meta i{opacity:.7;font-size:11px}.ops-card-items{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.ops-card-item-chip{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:4px;padding:2px 8px;font-size:11px}.ops-card-item-chip--done{color:#166534;background:#dcfce7;text-decoration:line-through}.ops-card-item-chip--active{color:#991b1b;background:#fee2e2;font-weight:600}.ops-card-actions{gap:6px;margin-top:10px;display:flex}.ops-card-actions button{cursor:pointer;border:none;border-radius:6px;flex:1;padding:6px 10px;font-size:12px;font-weight:600;transition:background .15s,transform .1s}.ops-card-actions button:active{transform:scale(.97)}.ops-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.ops-btn:disabled{opacity:.5;cursor:not-allowed}.ops-btn--primary{background:var(--color-primary);color:#fff}.ops-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ops-btn--success{color:#fff;background:#16a34a}.ops-btn--success:hover:not(:disabled){background:#15803d}.ops-btn--warning{color:#fff;background:#f59e0b}.ops-btn--warning:hover:not(:disabled){background:#d97706}.ops-btn--danger{color:#fff;background:#dc2626}.ops-btn--danger:hover:not(:disabled){background:#b91c1c}.ops-btn--ghost{color:var(--color-muted);border:1px solid var(--color-border);background:0 0}.ops-btn--ghost:hover:not(:disabled){background:var(--color-bg-subtle)}.ops-btn--sm{border-radius:6px;padding:5px 10px;font-size:12px}.ops-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.ops-badge--pending{color:#475569;background:#f1f5f9}.ops-badge--confirmed{color:#92400e;background:#fef3c7}.ops-badge--preparing{color:#991b1b;background:#fee2e2}.ops-badge--ready{color:#166534;background:#dcfce7}.ops-badge--served{color:#5b21b6;background:#ede9fe}.ops-badge--completed{color:#065f46;background:#d1fae5}.ops-badge--cancelled{color:#94a3b8;background:#f1f5f9;text-decoration:line-through}.ops-badge--placed{color:#1e40af;background:#dbeafe}.ops-badge--unpaid{color:#92400e;background:#fef3c7}.ops-badge--paid,.ops-badge--payment-confirmed{color:#166534;background:#dcfce7}.ops-badge--failed{color:#991b1b;background:#fee2e2}.ops-badge--refunded{color:#3730a3;background:#e0e7ff}.ops-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.15s opsFadeIn;display:flex;position:fixed;inset:0}.ops-modal{background:var(--color-card,#fff);border-radius:16px;width:100%;max-width:560px;max-height:85vh;animation:.2s opsSlideUp;overflow-y:auto;box-shadow:0 20px 60px #00000026}.ops-modal-header{border-bottom:1px solid var(--color-border-light,#e8f1f8);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.ops-modal-header h2{margin:0;font-size:18px;font-weight:700}.ops-modal-close{background:var(--color-bg-subtle);cursor:pointer;width:32px;height:32px;color:var(--color-muted);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.ops-modal-close:hover{background:var(--color-border)}.ops-modal-body{padding:20px 24px}.ops-modal-footer{border-top:1px solid var(--color-border-light);justify-content:flex-end;gap:8px;padding:16px 24px 20px;display:flex}.ops-item-list{flex-direction:column;gap:8px;display:flex}.ops-item-row{background:var(--color-bg-subtle,#f5f7fa);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ops-item-info{flex:1;min-width:0}.ops-item-name{align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.ops-item-qty{color:var(--color-muted);font-size:12px}.ops-item-actions{gap:4px;display:flex}.ops-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.ops-stat-card{background:var(--color-card,#fff);border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #0000000f}.ops-stat-label{color:var(--color-muted);margin-bottom:4px;font-size:12px;font-weight:500}.ops-stat-value{color:var(--color-ink);font-size:28px;font-weight:800;line-height:1.2}.ops-stat-detail{color:var(--color-muted);margin-top:2px;font-size:11px}.ops-toggle-row{background:var(--color-bg-subtle);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;display:flex}.ops-toggle-label{font-size:13px;font-weight:500}.ops-toggle-switch{cursor:pointer;background:#cbd5e1;border:none;border-radius:20px;width:40px;height:22px;padding:0;transition:background .2s;position:relative}.ops-toggle-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.ops-toggle-switch--on{background:#16a34a}.ops-toggle-switch--on:after{transform:translate(18px)}.ops-role-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:20px;display:grid}.ops-role-card,.ops-role-hero,.ops-action-card,.ops-flow-strip{background:var(--color-card,#fff);border:1px solid var(--color-border-light,#e8f1f8);border-radius:12px;box-shadow:0 1px 3px #0000000d}.ops-role-card{gap:14px;padding:18px;display:grid}.ops-role-card--admin{border-top:4px solid #2563eb}.ops-role-card--staff{border-top:4px solid #16a34a}.ops-role-card--kitchen{border-top:4px solid #f59e0b}.ops-role-card-header{align-items:flex-start;gap:12px;display:flex}.ops-role-card-header h2,.ops-role-hero h2{color:var(--color-ink);margin:0;font-size:20px}.ops-role-icon,.ops-action-icon{background:var(--color-bg-subtle,#f5f7fa);width:42px;height:42px;color:var(--color-primary,#005bac);border-radius:10px;flex:none;place-items:center;display:grid}.ops-role-kicker{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12px;font-weight:700;display:block}.ops-role-badge{background:var(--color-bg-subtle,#f5f7fa);color:var(--color-muted);white-space:nowrap;border-radius:999px;margin-left:auto;padding:4px 9px;font-size:11px;font-weight:700}.ops-role-summary{color:var(--color-muted);margin:0;line-height:1.5}.ops-permission-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ops-permission-columns h3{color:var(--color-ink);margin:0 0 8px;font-size:13px}.ops-permission-columns ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ops-permission-columns li{color:var(--color-ink);align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.ops-permission-columns li svg{color:#16a34a;flex:none;margin-top:2px}.ops-permission-columns li.is-muted{color:var(--color-muted)}.ops-role-link{justify-self:start;text-decoration:none}.ops-flow-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.ops-flow-strip>div{gap:4px;padding:10px;display:grid}.ops-flow-strip svg{color:var(--color-primary,#005bac)}.ops-flow-strip strong{color:var(--color-ink)}.ops-flow-strip span{color:var(--color-muted);font-size:12px}.ops-role-hero{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:22px;display:flex}.ops-role-hero p{max-width:760px;color:var(--color-muted);margin:8px 0 0;line-height:1.55}.ops-role-hero--staff{border-left:4px solid #16a34a}.ops-role-hero--kitchen{border-left:4px solid #f59e0b}.ops-role-hero>svg{color:var(--color-primary,#005bac);flex:none}.ops-action-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.ops-action-card{color:inherit;gap:10px;padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.ops-action-card:hover{border-color:var(--color-primary,#005bac);transform:translateY(-1px);box-shadow:0 8px 22px #00000014}.ops-action-card strong{color:var(--color-ink);font-size:17px}.ops-action-card p{color:var(--color-ink);margin:0;line-height:1.45}.ops-action-card small{color:var(--color-muted);line-height:1.4}@media (width<=760px){.ops-permission-columns,.ops-flow-strip{grid-template-columns:1fr}.ops-role-hero{align-items:flex-start}}.ops-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.ops-table thead th{text-align:left;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.ops-table tbody td{border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:12px 14px}.ops-table tbody tr:hover{background:var(--color-bg-subtle)}.ops-form-group{margin-bottom:16px}.ops-form-label{color:var(--color-ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.ops-form-input,.ops-form-select,.ops-form-textarea{border:1px solid var(--color-border);background:var(--color-card);width:100%;color:var(--color-ink);border-radius:8px;padding:10px 14px;font-size:14px;transition:border-color .15s}.ops-form-input:focus,.ops-form-select:focus,.ops-form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.ops-form-textarea{resize:vertical;min-height:80px}.ops-form-error{color:var(--color-danger);margin-top:4px;font-size:12px}.ops-password-input-wrap{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.ops-password-input-wrap .ops-form-input{min-width:0}.ops-password-toggle{background:var(--color-surface);border:1px solid var(--color-border-light);color:var(--color-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.ops-password-toggle:hover{color:var(--color-text)}.ops-page-header{margin-bottom:24px}.ops-page-header h1{margin:0 0 4px;font-size:24px;font-weight:800}.ops-page-header p{color:var(--color-muted);margin:0;font-size:14px}.ops-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.ops-toolbar-search{flex:1;min-width:200px}.ops-notice{border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:13px}.ops-notice--info{background:var(--color-info-bg);color:var(--color-info)}.ops-notice--success{background:var(--color-success-bg);color:var(--color-success)}.ops-notice--warning{background:var(--color-warning-bg);color:var(--color-warning)}.ops-notice--danger{background:var(--color-danger-bg);color:var(--color-danger)}.ops-empty{color:var(--color-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;font-size:14px;display:flex}.ops-empty-icon{opacity:.3;margin-bottom:12px;font-size:40px}.ops-connection{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.ops-connection--connected{color:#166534;background:#dcfce7}.ops-connection--connecting,.ops-connection--reconnecting{color:#92400e;background:#fef3c7}.ops-connection--disconnected,.ops-connection--error{color:#991b1b;background:#fee2e2}.ops-connection-dot{background:currentColor;border-radius:50%;width:6px;height:6px}@keyframes opsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes opsSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes opsCardEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ops-card{animation:.2s opsCardEnter}.ops-timer{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.ops-timer--urgent{color:#dc2626}.ops-timer--normal{color:var(--color-muted)}@media (width<=1100px){.ops-board--kitchen{grid-template-columns:repeat(2,minmax(0,1fr))}}.ops-hub-tabs{border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;gap:8px;margin:0 0 20px;padding-bottom:12px;display:flex}.ops-hub-tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.ops-hub-tab.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ops-inline-actions{flex-wrap:wrap;gap:6px;display:flex}.ops-form-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-bottom:20px;padding:16px}.ops-form-card h2{margin:0 0 12px;font-size:18px}.ops-form-actions{gap:8px;margin-top:12px;display:flex}.ops-reports-chart{border:1px solid var(--color-border-light);background:var(--color-surface);border-radius:12px;margin:20px 0 28px;padding:16px}.ops-reports-chart svg{width:100%;height:220px}.ops-reports-toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:16px;display:flex}@media (width<=768px){.ops-board,.ops-board--kitchen{grid-template-columns:1fr}.ops-board--staff{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-stats{grid-template-columns:1fr 1fr}.ops-modal{max-width:100%;margin:0 8px}.ops-table-responsive{display:none}.ops-card-list{gap:12px;display:grid}}.ops-hub-tabs--sticky{z-index:20;background:var(--color-bg);margin-top:-8px;padding-top:8px;position:sticky;top:56px}.ops-page-header--compact h1{font-size:24px}.ops-page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.table-orders-header{flex-direction:column;gap:16px;display:flex}@media (width>=768px){.table-orders-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.table-orders-header-main{flex-direction:column;gap:12px;min-width:0;display:flex}.table-orders-back{color:var(--color-muted);align-items:center;gap:6px;width:fit-content;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.table-orders-back:hover{color:var(--color-text)}.table-orders-title-block h1{margin:0 0 4px;font-size:24px;font-weight:800}.table-orders-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);align-items:center;gap:6px;margin:0 0 4px;font-size:12px;font-weight:700;display:inline-flex}.table-orders-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ops-hub-shell{flex-direction:column;gap:0;display:flex}.ops-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ops-command-widget{border:1px solid var(--color-border-light);background:var(--color-surface);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.ops-command-widget-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ops-command-widget-head h2{align-items:center;gap:8px;margin:0;font-size:16px;display:inline-flex}.ops-command-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ops-command-list a{background:var(--color-bg-subtle);color:var(--color-text);border-radius:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:block}.ops-command-empty{color:var(--color-muted);margin:0}.ops-stats--compact{margin-bottom:0}.ops-bottom-nav{z-index:40;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;grid-template-columns:repeat(4,1fr);gap:4px;display:none;position:fixed;bottom:0;left:0;right:0}.ops-bottom-nav-link{color:var(--color-muted);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.ops-bottom-nav-link.is-active{color:var(--color-primary);background:#005bac14}.ops-bottom-nav-icon{display:inline-flex;position:relative}.ops-bottom-nav-badge{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:16px;padding:1px 4px;font-size:10px;font-weight:700;position:absolute;top:-6px;right:-10px}.ops-toast-stack{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1300;gap:8px;max-width:min(360px,100vw - 32px);display:grid;position:fixed}.ops-toast{color:#fff;background:#0f172a;border-radius:12px;padding:12px 14px;font-weight:600;text-decoration:none;display:block;box-shadow:0 12px 30px #0f172a3d}.ops-card-list{display:none}@media (width<=900px){.ops-bottom-nav{display:grid}}@media (width<=768px){.ops-command-grid{grid-template-columns:1fr}.ops-hub-tabs--sticky{scrollbar-width:none;flex-wrap:nowrap;top:52px;overflow-x:auto}.ops-hub-tabs--sticky::-webkit-scrollbar{display:none}}.ops-confirm-message{color:var(--ops-text-muted,#4a5568);margin:0 0 1rem;line-height:1.55}.amm-category-tabs{scrollbar-width:none;gap:8px;padding:4px 0 10px;display:flex;overflow-x:auto}.amm-category-tabs::-webkit-scrollbar{display:none}.amm-chip{border-radius:var(--radius-pill,999px);border:1px solid var(--color-border,#d4e8f5);background:var(--color-card,#fff);color:var(--color-muted,#5a7a96);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast,.15s) var(--ease-standard,ease);flex:none;padding:8px 16px;font-size:13px;font-weight:600}.amm-chip:hover{border-color:var(--color-primary,#005bac);color:var(--color-primary,#005bac)}.amm-chip.active{background:var(--color-primary,#005bac);border-color:var(--color-primary,#005bac);color:#fff}.amm-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.amm-card{border-radius:var(--radius-lg,16px);background:var(--color-card,#fff);border:1px solid var(--color-border-light,#e8f1f8);box-shadow:var(--elevation-1,0 1px 3px #005bac0f);transition:box-shadow var(--duration-base,.2s) var(--ease-standard,ease), transform var(--duration-base,.2s) var(--ease-standard,ease);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.amm-card:hover{box-shadow:var(--elevation-hover,0 12px 40px #005bac24);transform:translateY(-3px)}.amm-card.is-off{opacity:.65;filter:grayscale(.35)}.amm-image-wrap{aspect-ratio:4/3;background:var(--color-bg-subtle,#f0f7ff);position:relative;overflow:hidden}.amm-image{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow,.3s) var(--ease-standard,ease)}.amm-card:hover .amm-image{transform:scale(1.06)}.amm-image-empty{width:100%;height:100%;color:var(--color-muted,#5a7a96);justify-content:center;align-items:center;font-size:32px;display:flex}.amm-availability{border-radius:var(--radius-pill,999px);text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:5px 12px;font-size:11px;font-weight:700;position:absolute;top:10px;right:10px}.amm-availability.on{background:var(--color-success,#16a34a)}.amm-availability.off{background:var(--color-muted,#5a7a96)}.amm-content{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.amm-category{color:var(--color-primary,#005bac);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px;font-weight:600}.amm-content h3{color:var(--color-ink,#08233e);margin:0;font-size:16px;line-height:1.3}.amm-desc{color:var(--color-muted,#5a7a96);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.amm-tags{flex-wrap:wrap;gap:6px;display:flex}.amm-tags span{border-radius:var(--radius-pill,999px);background:var(--color-bg-subtle,#f0f7ff);border:1px solid var(--color-border-light,#e8f1f8);color:var(--color-muted,#5a7a96);padding:3px 10px;font-size:11px;font-weight:600}.amm-footer{border-top:1px solid var(--color-border-light,#e8f1f8);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.amm-price{color:var(--color-primary,#005bac);font-size:18px;font-weight:700}.amm-actions{align-items:center;gap:6px;display:flex}@media (width<=640px){.amm-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}.amm-select .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.amm-card{position:relative}.amm-select{z-index:2;cursor:pointer;background:#ffffffe0;border-radius:.4rem;padding:.35rem;display:inline-flex;position:absolute;top:.5rem;left:.5rem;box-shadow:0 1px 3px #0003}.amm-select input{cursor:pointer}.amm-selectall{cursor:pointer;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.92rem;display:flex}.amm-bulkbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ops-hub-shell--menu .ops-page-header--compact,.ops-hub-shell--menu .ops-hub-tabs{margin-bottom:12px}.ops-hub-shell--menu .amm-menu-controls{z-index:15;background:var(--color-bg,#f4f9fd);border-bottom:1px solid var(--color-border-light,#e8f1f8);flex-direction:column;gap:10px;margin-bottom:4px;padding:4px 0 10px;display:flex;position:sticky;top:56px}.ops-hub-shell--menu .amm-menu-controls .ops-toolbar{margin-bottom:0}.ops-hub-shell--menu .amm-category-tabs{padding-top:0}.floor-map-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.floor-map-filter{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.floor-map-filter.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.floor-map-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;display:grid}.floor-map-tile{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;min-height:96px;padding:12px;transition:transform .15s,box-shadow .15s;display:flex}.floor-map-tile:hover,.floor-map-tile.is-selected{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.floor-map-tile--free{border-color:#cbd5e1}.floor-map-tile--serving{background:#f0fdf4;border-color:#86efac}.floor-map-tile--payment{background:#fff7ed;border-color:#fdba74}.floor-map-tile--inactive{opacity:.55;background:var(--color-bg-subtle)}.floor-map-tile-code{font-size:18px;font-weight:800;line-height:1}.floor-map-tile-name{color:var(--color-muted);font-size:12px;line-height:1.2}.floor-map-tile-state{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.floor-map-tile-meta{font-size:12px;font-weight:600}.floor-map-empty{grid-column:1/-1}.floor-drawer-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1200;background:#0f172a59;justify-content:flex-end;display:flex;position:fixed;inset:0}.floor-drawer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border-left:1px solid #ffffff8c;flex-direction:column;width:min(420px,100%);height:100%;display:flex;box-shadow:-12px 0 40px #0f172a24}.floor-drawer--qr{background:#ffffffc7}.floor-drawer-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px;display:flex}.floor-drawer-kicker{color:var(--color-muted);text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.floor-drawer-header h2{margin:0;font-size:22px}.floor-drawer-body{flex-direction:column;gap:16px;padding:20px;display:flex}.floor-drawer-badge{border-radius:999px;align-self:flex-start;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.floor-drawer-badge--free{color:#334155;background:#e2e8f0}.floor-drawer-badge--serving{color:#166534;background:#dcfce7}.floor-drawer-badge--payment{color:#9a3412;background:#ffedd5}.floor-drawer-badge--inactive{color:#64748b;background:#f1f5f9}.floor-drawer-meta{gap:12px;margin:0;display:grid}.floor-drawer-meta div{gap:2px;display:grid}.floor-drawer-meta dt{color:var(--color-muted);font-size:12px}.floor-drawer-meta dd{margin:0;font-weight:700}.floor-drawer-empty{color:var(--color-muted);margin:0}.floor-drawer-actions{flex-direction:column;gap:8px;display:flex}.floor-drawer-actions .ops-btn{justify-content:center}.floor-drawer-back{color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0 0 6px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.floor-drawer-back:hover{text-decoration:underline}.floor-drawer-body--qr{flex:1;justify-content:center;align-items:center}.floor-drawer-qr-glass{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(circle at 100% 0,#005bac14,#0000 42%),#ffffff8c;border:1px solid #ffffffa6;border-radius:18px;flex-direction:column;align-items:center;gap:16px;width:min(100%,380px);margin-inline:auto;padding:18px;display:flex;box-shadow:0 12px 32px #0f172a14}.floor-drawer-qr-hint{color:var(--color-muted);text-wrap:pretty;margin:0;font-size:14px;line-height:1.5}.floor-drawer-qr-frame{background:#ffffffb8;border:1px solid #94a3b859;border-radius:16px;justify-content:center;align-items:center;width:100%;padding:16px;display:flex}.floor-drawer-qr-frame .table-qr-image{flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(100%,260px);max-width:260px;margin-inline:auto;display:flex}.floor-drawer-qr-frame .table-qr-image img{aspect-ratio:1;object-fit:contain;width:min(240px,100%);height:auto;margin-inline:auto;display:block}.floor-drawer-qr-frame .table-qr-download{text-align:center}.floor-drawer-qr-link{gap:6px;width:100%;display:grid}.floor-drawer-qr-link span{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.floor-drawer-qr-link code{word-break:break-all;background:#0f172a0a;border:1px solid #94a3b840;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.4;display:block}.floor-drawer-qr-actions{gap:8px;display:grid}.floor-drawer-qr-actions .ops-btn{justify-content:center}.floor-drawer-qr-feedback{color:#166534;margin:0;font-size:13px;font-weight:600}.floor-drawer-qr-feedback.is-error{color:#b91c1c}@media (width<=768px){.floor-map-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.floor-drawer{width:100%}}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-vietnamese-400-normal-DHb3EETF.woff2)format("woff2"),url(/assets/manrope-vietnamese-400-normal-D7E_mLGF.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-vietnamese-600-normal-C1J5PCl_.woff2)format("woff2"),url(/assets/manrope-vietnamese-600-normal-lA7a_7Ok.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-vietnamese-700-normal-CUqMx5-1.woff2)format("woff2"),url(/assets/manrope-vietnamese-700-normal-pt65Fn2Z.woff)format("woff")}.ops-hub-shell--counter .ops-hub-content{width:100%;max-width:920px;margin:0 auto}.ops-hub-shell--counter .ops-hub-tabs{width:100%;max-width:920px;margin-left:auto;margin-right:auto}.counter-workspace{flex-direction:column;gap:20px;padding-bottom:32px;display:flex}.counter-alert{border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;line-height:1.45;display:flex}.counter-alert--error{color:#991b1b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fee2e2b8;border:1px solid #f8717159}.counter-alert--info{color:#1e40af;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#dbeafeb8;border:1px solid #60a5fa59}.counter-shift-hero{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 100% 0,#005bac1f,#0000 46%),#ffffffb8;border:1px solid #fff9;border-radius:20px;padding:28px 24px;position:relative;overflow:hidden;box-shadow:0 16px 40px #0f172a14}.counter-shift-hero--open{background:radial-gradient(circle at 0 100%,#22c55e1f,#0000 42%),radial-gradient(circle at 100% 0,#005bac1a,#0000 40%),#ffffffc7}.counter-shift-hero-icon{width:48px;height:48px;color:var(--color-primary);background:#005bac1a;border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.counter-shift-hero--open .counter-shift-hero-icon{color:#15803d;background:#22c55e24}.counter-shift-hero h2{letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:800;line-height:1.15}.counter-shift-hero p{color:var(--color-muted);margin:0;font-size:14px;line-height:1.5}.counter-shift-status{color:#166534;text-transform:uppercase;letter-spacing:.05em;background:#22c55e24;border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.counter-shift-pulse{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite counterShiftPulse;box-shadow:0 0 #22c55e80}@keyframes counterShiftPulse{0%{box-shadow:0 0 #22c55e73}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.counter-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.counter-metric{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff9e;border:1px solid #ffffff8c;border-radius:16px;padding:18px 16px;box-shadow:0 8px 24px #0f172a0f}.counter-metric-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:700}.counter-metric-value{font-variant-numeric:tabular-nums;color:var(--color-ink);margin:0;font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.15}.counter-metric-detail{color:var(--color-muted);margin:6px 0 0;font-size:12px}.counter-action-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 0 0,#005bac0f,#0000 38%),#ffffffad;border:1px solid #94a3b847;border-radius:18px;padding:22px 20px;box-shadow:0 12px 32px #0f172a12}.counter-action-card h3{margin:0 0 6px;font-size:18px;font-weight:800}.counter-action-card>p{color:var(--color-muted);margin:0 0 18px;font-size:14px;line-height:1.5}.counter-money-field{gap:8px;margin-bottom:16px;display:grid}.counter-money-field label{color:var(--color-text);font-size:13px;font-weight:700}.counter-money-input-wrap{background:#ffffffd9;border:1px solid #94a3b873;border-radius:12px;align-items:stretch;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.counter-money-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #005bac1f}.counter-money-prefix{color:var(--color-muted);background:#0f172a0a;border-right:1px solid #94a3b840;align-items:center;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.counter-money-input-wrap input{font-variant-numeric:tabular-nums;min-width:0;color:var(--color-ink);background:0 0;border:0;flex:1;padding:14px 16px;font-size:20px;font-weight:700}.counter-money-input-wrap input:focus{outline:none}.counter-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.counter-action-row .ops-btn{min-height:44px;padding-inline:20px}.counter-loading{gap:14px;display:grid}.counter-skeleton{background:linear-gradient(90deg,#94a3b81f 0%,#94a3b838 50%,#94a3b81f 100%) 0 0/200% 100%;border-radius:16px;animation:1.2s infinite counterSkeleton}.counter-skeleton--hero{height:140px}.counter-skeleton--metric{height:96px}@keyframes counterSkeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=768px){.counter-metrics{grid-template-columns:1fr}.counter-shift-hero{padding:22px 18px}.counter-action-row .ops-btn{justify-content:center;width:100%}}.counter-voucher-search{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.counter-voucher-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.counter-voucher-item{border:1px solid var(--ops-line,#e3d7cd);border-left:4px solid var(--ops-success,#2f7251);background:var(--ops-surface,#fff);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}
