@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";@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-vietnamese-600-normal-ICsRR-qJ.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-600-normal-BPJkAZPN.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff) format("woff")}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/karla-latin-ext-400-normal-DQe2ZdED.woff2) format("woff2"),url(/assets/karla-latin-ext-400-normal-CMxStcnq.woff) format("woff")}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/karla-latin-ext-500-normal-BQGx_UZ6.woff2) format("woff2"),url(/assets/karla-latin-ext-500-normal-BR9CgtUN.woff) format("woff")}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/karla-latin-ext-600-normal-CIPY_Mp5.woff2) format("woff2"),url(/assets/karla-latin-ext-600-normal-Cf-uwXr_.woff) format("woff")}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/karla-latin-ext-700-normal-DnPH2EDB.woff2) format("woff2"),url(/assets/karla-latin-ext-700-normal-eTNnM7bB.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-vietnamese-500-normal-DCXiE_xi.woff2) format("woff2"),url(/assets/manrope-vietnamese-500-normal-DaZ8i3XM.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")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-vietnamese-800-normal-ClPWri-A.woff2) format("woff2"),url(/assets/manrope-vietnamese-800-normal-bvg7iBCV.woff) format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-vietnamese-600-normal-B_5hiXq4.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-600-normal-DmBNuN3D.woff) format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-vietnamese-700-normal-DHSNEjs8.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-700-normal-BxaLPXNn.woff) format("woff")}:root{--brand-ivory: #fffaf5;--brand-paper: #ffffff;--brand-chestnut: #6f3d2c;--brand-chestnut-dark: #4c291f;--brand-brass: #a47834;--brand-ink: #2f1d16;--brand-muted: #80685e;--brand-clay-line: #ead8cd;--brand-success: #2f7251;--brand-danger: #b13c32;--brand-font-display: "Playfair Display", Georgia, serif;--brand-font-body: "Karla", system-ui, sans-serif;--brand-font-utility: "Manrope", system-ui, sans-serif;--brand-radius-card: 1rem;--brand-shadow-soft: 0 18px 45px rgba(76, 41, 31, .1)}:root.brand-theme{--color-bg: var(--brand-ivory);--color-bg-subtle: #fff4ec;--color-bg-section: #fff7f1;--color-card: var(--brand-paper);--color-ink: var(--brand-ink);--color-muted: var(--brand-muted);--color-border: var(--brand-clay-line);--color-border-light: #f2e5dd;--color-primary: var(--brand-chestnut);--color-primary-hover: var(--brand-chestnut-dark);--color-primary-dark: var(--brand-chestnut-dark);--color-warning: var(--brand-brass);--font-display: var(--brand-font-display);--font-ui: var(--brand-font-body);--font-body: var(--brand-font-body);--font-utility: var(--brand-font-utility)}:where([data-money],.brand-money){font-family:var(--brand-font-utility);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.015em;white-space:nowrap}.brand-wordmark{align-items:center;color:var(--brand-ink);display:inline-flex;gap:.7rem}.brand-wordmark-monogram{align-items:center;background:var(--brand-chestnut);border-radius:.8rem;color:#fff;display:inline-flex;font:800 .82rem/1 var(--brand-font-utility);height:2.7rem;justify-content:center;letter-spacing:.05em;width:2.7rem}.brand-wordmark-copy{display:grid;gap:.08rem}.brand-wordmark-copy strong{font:700 1rem/1.15 var(--brand-font-display)}.brand-wordmark-copy small{color:var(--brand-muted);font:600 .68rem/1.2 var(--brand-font-utility);letter-spacing:.08em;text-transform:uppercase}.language-switcher{align-items:center;background:color-mix(in srgb,var(--brand-paper) 88%,transparent);border:1px solid var(--brand-clay-line);border-radius:999px;display:inline-flex;gap:.15rem;padding:.2rem}.language-switcher button{background:transparent;border:0;border-radius:999px;color:var(--brand-muted);cursor:pointer;font:800 .68rem/1 var(--brand-font-utility);letter-spacing:.06em;min-height:2.75rem;min-width:2.75rem;padding:.45rem .55rem}.language-switcher button[aria-pressed=true]{background:var(--brand-chestnut);color:#fff}.language-switcher button:focus-visible{outline:2px solid var(--brand-brass);outline-offset:2px}.language-toggle{align-items:center;background:var(--brand-chestnut);border:1px solid color-mix(in srgb,var(--brand-chestnut) 82%,#fff);border-radius:999px;box-shadow:0 5px 14px #4c291f24;color:#fff;cursor:pointer;display:inline-flex;font:800 .72rem/1 var(--brand-font-utility);justify-content:center;letter-spacing:.08em;min-height:2.75rem;min-width:2.75rem;padding:.55rem;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.language-toggle:hover{background:color-mix(in srgb,var(--brand-chestnut) 88%,var(--brand-brass));box-shadow:0 7px 18px #4c291f33;transform:translateY(-1px)}.language-toggle:focus-visible{outline:2px solid var(--brand-brass);outline-offset:3px}:root{font-family:var(--font-ui);color:var(--color-ink);background:var(--color-bg);font-synthesis:none;color-scheme:light}body{margin:0;min-width:320px;background:var(--cmc-bg)}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid rgba(8,188,239,.45);outline-offset:2px}.cmc-button{border:0;border-radius:12px;padding:.75rem 1rem;font-weight:700;cursor:pointer}.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);border-radius:24px;box-shadow:var(--cmc-shadow);padding:1.5rem}.cmc-state{margin:2rem auto;max-width:720px;padding:1.5rem;border:1px solid var(--cmc-border);border-radius:20px;background:#fff}.cmc-state p{color:var(--cmc-muted)}.cmc-state--error{border-color:#f2b8b5}.cmc-badge{display:inline-flex;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:800}.cmc-badge--neutral{background:#edf2f7}.cmc-badge--info{background:#dff6fd;color:#00517a}.cmc-badge--success{background:#dcfce7;color:#166534}.cmc-badge--warning{background:#fef3c7;color:#92400e}.cmc-badge--danger{background:#fee2e2;color:#991b1b}.cmc-operations-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.cmc-sidebar{position:sticky;top:0;height:100vh;padding:1.25rem;background:#08233e;color:#fff;display:flex;flex-direction:column;gap:1.5rem}.cmc-brand{display:flex;align-items:center;gap:.8rem}.cmc-brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--cmc-primary),var(--cmc-cyan));font-weight:900}.cmc-brand strong,.cmc-brand small{display:block}.cmc-brand small,.cmc-user small{color:#a9c9dd}.cmc-sidebar nav{display:grid;gap:.4rem}.cmc-nav-link{color:#d5e9f5;text-decoration:none;padding:.8rem 1rem;border-radius:12px}.cmc-nav-link:hover,.cmc-nav-link.is-active{color:#fff;background:#08bcef2e}.cmc-user{margin-top:auto;display:grid;gap:.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14)}.cmc-user button{margin-top:.5rem;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:.55rem;cursor:pointer}.cmc-portal-content{min-width:0;padding:1.5rem}.cmc-mobile-topbar{display:none;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:40;padding:.7rem 1rem;background:#08233e;color:#fff}.cmc-brand--compact{gap:.6rem}.cmc-brand--compact .cmc-brand-mark{width:38px;height:38px;border-radius:12px;font-size:.8rem}.cmc-brand--compact strong{font-size:.95rem}.cmc-nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:transparent;cursor:pointer}.cmc-nav-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:#fff;transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.cmc-nav-toggle[aria-expanded=true] span:nth-child(1){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{display:none;position:fixed;inset:0;z-index:45;border:0;padding:0;background:#08233e80;cursor:pointer;animation:cmc-overlay-in var(--duration-base) var(--ease-standard) both}@keyframes cmc-overlay-in{0%{opacity:0}to{opacity:1}}.cmc-login-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top right,rgba(8,188,239,.2),transparent 35%),var(--cmc-bg)}.cmc-login-card{width:min(440px,100%)}.cmc-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;color:var(--cmc-primary);font-weight:800;font-size:.75rem}.cmc-login-card form{display:grid;gap:1rem;margin-top:1.5rem}.cmc-login-card label{display:grid;gap:.4rem;font-weight:700}.cmc-login-card input{width:100%;border:1px solid #b8dbe9;border-radius:12px;padding:.8rem}.cmc-form-error{color:var(--cmc-danger);margin:0}@media(max-width:800px){.cmc-operations-shell{grid-template-columns:1fr}.cmc-mobile-topbar{display:flex}.cmc-drawer-overlay.is-open{display:block}.cmc-sidebar{position:fixed;top:0;left:0;z-index:50;height:100vh;width:min(82vw,300px);transform:translate(-100%);transition:transform var(--duration-base) var(--ease-emphasized);box-shadow:0 24px 60px #08233e73;overflow-y:auto}.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{display:grid;width:min(460px,100%);align-items:center}.cmc-form-section{display:flex;flex-direction:column;gap:.75rem}.cmc-form-section h2{margin:0 0 .25rem;font-size:1.35rem;color:var(--cmc-text)}.cmc-login-hint{color:var(--cmc-muted);font-size:.875rem;margin:0 0 .5rem}.cmc-user .cmc-account-actions{display:grid;gap:.4rem}.cmc-user .cmc-account-trigger{margin-top:.5rem;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:.55rem;cursor:pointer;font:inherit}.cmc-user .cmc-account-trigger:disabled{opacity:.6;cursor:not-allowed}.cmc-user .cmc-account-cancel{margin-top:0;color:#a9c9dd;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:.55rem;cursor:pointer;font:inherit}.cmc-user .cmc-account-form{display:grid;gap:.45rem;margin-top:.5rem}.cmc-user .cmc-account-form input{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.5rem;background:#ffffff14;color:#fff;font:inherit}.cmc-user .cmc-account-form input::placeholder{color:#ffffff8c}.cmc-user .cmc-account-form-actions{display:flex;gap:.4rem}.cmc-user .cmc-account-form-actions .cmc-account-trigger{margin-top:0;flex:1}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cmc-field{display:grid;gap:var(--space-2)}.cmc-field-label{font-weight:700;font-size:.9rem;color:var(--color-ink)}.cmc-field-req{color:var(--color-danger)}.cmc-field-hint{margin:0;font-size:.8rem;color:var(--color-muted)}.cmc-field-error{margin:0;font-size:.8rem;font-weight:700;color:var(--color-danger)}.cmc-input,.cmc-textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.cmc-textarea{min-height:96px;resize:vertical}.cmc-input::placeholder,.cmc-textarea::placeholder{color:var(--color-muted)}.cmc-input:focus-visible,.cmc-textarea:focus-visible{outline:none;border-color:var(--color-primary);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{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid transparent;border-radius:var(--radius-md);font-size:1.1rem;line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.cmc-icon-button:active{transform:scale(.94)}.cmc-icon-button:disabled{opacity:.55;cursor:not-allowed}.cmc-icon-button--ghost{background:transparent;color:var(--color-ink);border-color:var(--color-border)}.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{display:inline-block;position:relative;vertical-align:middle}.cmc-spinner-track{display:block;width:100%;height:100%;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-pill);animation:cmc-spin .7s linear infinite}@keyframes cmc-spin{to{transform:rotate(360deg)}}.cmc-skeleton{display:block;background:var(--color-soft)}.cmc-empty-state{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center;color:var(--color-muted)}.cmc-empty-state strong{font-size:1.05rem;color:var(--color-ink)}.cmc-empty-state p{margin:0;max-width:42ch}.cmc-empty-state-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--radius-pill);background:var(--color-soft);color:var(--color-primary);font-size:1.7rem}.cmc-empty-state-action{margin-top:var(--space-2)}.cmc-timeline{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.cmc-timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--space-3)}.cmc-timeline-item:before{content:"";position:absolute;left:8px;top:18px;bottom:calc(-1 * var(--space-4));width:2px;background:var(--color-border)}.cmc-timeline-item:last-child:before{display:none}.cmc-timeline-dot{width:16px;height:16px;margin-top:2px;border-radius:var(--radius-pill);background:var(--color-muted);box-shadow:0 0 0 4px var(--color-card)}.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{display:grid;gap:var(--space-1)}.cmc-timeline-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.cmc-timeline-row strong{color:var(--color-ink)}.cmc-timeline-time{font-size:.78rem;white-space:nowrap;color:var(--color-muted)}.cmc-timeline-sub{font-size:.85rem;color:var(--color-muted)}.cmc-timeline-note{margin:0;font-size:.85rem;color:var(--color-ink)}.cmc-modal-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--space-5);background:#08233e75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmc-modal{width:min(560px,100%);max-height:calc(100vh - 2 * var(--space-5));overflow:auto;background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-3)}.cmc-modal:focus-visible{outline:none}.cmc-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}.cmc-modal-header h2{margin:0;font-size:1.2rem;color:var(--color-ink)}.cmc-modal-body{padding:0 var(--space-5) var(--space-5)}.cmc-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-5)}.cmc-toaster{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:1100;display:grid;gap:var(--space-3);width:min(360px,calc(100vw - 2 * var(--space-5)))}.cmc-toast{display:flex;align-items:flex-start;justify-content:space-between;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}.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);border:0;background:transparent;color:var(--color-muted);font-size:1.1rem;line-height:1;cursor:pointer}.cmc-toast-close:hover{color:var(--color-ink)}.cmc-sidebar{gap:1.1rem;padding:1.1rem .9rem;background:#14212e}.cmc-sidebar-nav{display:grid;gap:2px;overflow-y:auto;min-height:0;flex:1 1 auto;margin:0 -4px;padding:0 4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.cmc-nav-item{display:grid;gap:2px}.cmc-nav-section{margin:14px 0 4px;padding:0 12px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff6b}.cmc-nav-item:first-child .cmc-nav-section{margin-top:2px}.cmc-nav-link{display:flex;align-items:center;gap:10px;padding:.6rem .75rem;border-radius:10px;font-size:.9rem;font-weight:500;color:#ffffffb8;transition:background .15s ease,color .15s ease}.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{display:inline-flex;flex:0 0 auto;opacity:.9}.cmc-nav-link-label{flex:1 1 auto}.cmc-nav-badge{margin-left:auto;min-width:20px;padding:2px 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;text-align:center}.cmc-portal-content--with-bottom-nav{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.cmc-user{flex:0 0 auto;gap:.5rem;padding-top:.9rem}.cmc-user-identity{display:flex;align-items:center;gap:10px;min-width:0}.cmc-user-identity>div{display:grid;min-width:0}.cmc-user-identity span:not(.cmc-user-avatar){font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmc-user-avatar{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--cmc-primary, #005bac),var(--cmc-cyan, #08bcef));color:#fff;font-size:.95rem;font-weight:800}.cmc-user .cmc-logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:.35rem;padding:.6rem;border:none;border-radius:10px;background:#dc4c3c29;color:#ff9b8d;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.cmc-user .cmc-logout-btn:hover{background:#dc4c3c52;color:#fff}@media(max-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: #ffffff;--color-bg-subtle: #F0F7FF;--color-bg-section: #F8FBFF;--color-card: #ffffff;--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, rgba(0,61,115,.85) 0%, rgba(0,91,172,.75) 50%, rgba(8,188,239,.6) 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, rgba(0,91,172,.03) 0%, rgba(0,91,172,0) 100%);--gradient-section: linear-gradient(180deg, #ffffff 0%, #F0F7FF 100%);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(212, 232, 245, .6);--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 rgba(0,91,172,.06), 0 1px 2px rgba(0,91,172,.04);--elevation-2: 0 4px 24px rgba(0,91,172,.08);--elevation-3: 0 12px 40px rgba(0,91,172,.12);--elevation-4: 0 20px 60px rgba(0,91,172,.16);--elevation-hover: 0 12px 40px rgba(0,91,172,.14);--elevation-nav: 0 4px 20px rgba(0,91,172,.06);--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)}@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)}}.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%,#ffffff 37%,var(--color-primary-light) 63%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.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:spin 1s linear infinite}.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;transform:translateY(24px);transition:opacity var(--duration-slower) var(--ease-decelerate),transform var(--duration-slower) var(--ease-decelerate)}.scroll-reveal.visible{opacity:1;transform:none}.scroll-reveal-left{opacity:0;transform:translate(-32px);transition:opacity var(--duration-slower) var(--ease-decelerate),transform var(--duration-slower) var(--ease-decelerate)}.scroll-reveal-left.visible{opacity:1;transform:none}.scroll-reveal-right{opacity:0;transform:translate(32px);transition:opacity var(--duration-slower) var(--ease-decelerate),transform var(--duration-slower) var(--ease-decelerate)}.scroll-reveal-right.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!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{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.customer-app-shell{min-height:100vh;background:radial-gradient(circle at 18% 0%,rgba(8,188,239,.12),transparent 28%),linear-gradient(180deg,#f4f8fb,#eef6fb);color:var(--color-ink);padding:100px clamp(16px,4vw,72px) 28px}.customer-app-shell:has(.page-shell-chat){background:radial-gradient(circle at 18% 0%,rgba(110,69,59,.06),transparent 28%),linear-gradient(180deg,#fdf8f4,#f8f0e8)}.customer-app-shell:has(.cmc-customer-page){background:linear-gradient(180deg,#fdf8f0,#fffbf5,#fff9f0);padding-top:70px}.landing-shell{min-height:100vh;background:var(--color-bg);color:var(--color-ink)}.cmc-nav-link{display:flex;align-items:center;gap:10px}.cmc-nav-icon{display:inline-flex;flex-shrink:0;opacity:.7}.cmc-nav-link.is-active .cmc-nav-icon{opacity:1}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;background:#fff;color:#003f7d;font-weight:800;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.customer-topbar{position:relative;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;width:min(100%,1520px);margin:0 auto;border:1px solid rgba(207,234,245,.92);border-bottom:0;border-radius:24px 24px 0 0;padding:16px 28px 12px;background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 48px #005bac14;animation:fade-in-up var(--duration-slow) var(--ease-decelerate) both}.customer-brand{display:inline-grid;grid-template-columns:58px auto;gap:10px;align-items:center;min-width:max-content}.customer-brand-logo,.brand-logo{width:54px;height:54px;border:0;border-radius:0;background:transparent;object-fit:contain;padding:0;box-shadow:none}.customer-brand strong,.customer-brand small{display:block;line-height:1.05}.customer-brand strong{color:#08233e;font-size:23px;letter-spacing:0}.customer-brand small{margin-top:3px;color:var(--cmc-muted);font-size:14px;font-weight:900;letter-spacing:0;text-transform:none}.customer-nav{justify-content:end;display:flex;gap:34px;min-width:0;overflow-x:auto;padding:3px;scrollbar-width:thin}.customer-nav a{flex:0 0 auto;position:relative;padding:10px 0 8px;color:#08233e;font-size:15px;font-weight:700;white-space:nowrap}.customer-nav a:after{position:absolute;right:0;bottom:2px;left:0;height:2px;background:var(--color-primary-hover);content:"";transform:scaleX(0);transition:transform .18s ease}.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{display:none;width:46px;height:46px;border:1px solid var(--cmc-line);border-radius:8px;padding:11px;background:#fff}.customer-menu-toggle span{display:block;width:100%;height:2px;margin:4px 0;background:var(--cmc-brown);transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.customer-menu-toggle[aria-expanded=true] span:nth-child(1){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{display:inline-flex;align-items:center;justify-content:center;min-width:max-content;border:1px solid var(--color-primary);border-radius:16px;padding:14px 24px;background:#005bac;color:#fff;font-weight:900;font-size:16px}.customer-content{width:min(100%,1520px);margin:0 auto;padding:0 0 22px}.landing-shell{padding:0;background:#fff}.landing-shell .customer-topbar{position:sticky;top:0;width:min(100%,1440px);min-height:78px;border:0;border-radius:0;padding:10px clamp(28px,8vw,112px);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{position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100vh;padding:22px 16px;color:#fff;background:#08233e}.brand{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}.brand-logo{width:36px;height:36px;border-radius:24px;grid-row:span 2}.brand .eyebrow,.brand h1{grid-column:2}.sidebar h1{margin:1px 0 0;font-size:18px;line-height:1.05}.eyebrow{margin:0;color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sidebar .eyebrow{color:#cfeaf5}.nav-groups,.nav-links{display:flex;flex-direction:column;gap:10px}.nav-group{display:flex;flex-direction:column;gap:8px}.nav-group h2{margin:10px 10px 0;color:#667a91;font-size:12px;text-transform:uppercase}.nav-link{border-radius:8px;padding:11px 12px;color:#f2fafd;font-size:14px;font-weight:800}.nav-link:hover,.nav-link.active{background:#005bac;color:#fff}.content{min-width:0;padding:38px 44px}.page-shell{display:flex;flex-direction:column;gap:18px;max-width:1280px}.page-heading h2{margin:6px 0;color:var(--ink);font-size:clamp(28px,4vw,46px);line-height:1.04}.description{max-width:720px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}.page-body{display:flex;flex-direction:column;gap:18px}.stat-grid,.panel-grid,.kanban-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.stat-card,.feature-panel,.order-card,.table-shell,.login-card,.qr-card,.kanban-column,.kitchen-lane{border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}.stat-card{padding:16px}.stat-card p,.panel-kicker{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.stat-card strong{display:block;color:var(--ink);font-size:26px;line-height:1}.stat-card span,.feature-panel p,.menu-item p,.ticket-card p,.kitchen-ticket p,.qr-card p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.action-row{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #CFEAF5;border-radius:16px;padding:12px 16px;background:#fff;color:var(--ink);font-weight:900}.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{margin:0;color:var(--ink);font-size:16px}.search-shell{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip,.mini-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:7px 13px;background:#fff;color:var(--ink);font-size:13px;font-weight:800}.chip{border:1px solid var(--line)}.chip.active,.mini-badge.placed{background:var(--blue);color:#fff}.mini-badge{padding:4px 10px}.mini-badge.ready{background:#f2fafd;color:var(--ready)}.mini-badge.preparing{background:#eaf7fc;color:var(--warn)}.mini-badge.muted,.mini-badge.pending{background:#eaf7fc;color:var(--muted)}.menu-list{display:flex;flex-direction:column;gap:10px}.menu-item{display:grid;grid-template-columns:68px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.item-thumb,.qr-preview{display:grid;place-items:center;border-radius:8px;background:#eaf7fc}.item-thumb{width:68px;height:68px}.item-thumb:after{width:28px;height:28px;border-radius:7px;background:var(--blue);content:"";opacity:.45}.qr-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:center;padding:18px}.qr-preview{width:110px;height:110px;background:linear-gradient(90deg,#08233E 12px,transparent 12px) 0 0 / 24px 24px,linear-gradient(#08233E 12px,transparent 12px) 0 0 / 24px 24px,#fff;border:8px solid #ffffff;box-shadow:inset 0 0 0 1px var(--line)}.qr-preview span{border-radius:999px;padding:7px 9px;background:var(--blue);color:#fff;font-weight:900}.order-card{overflow:hidden}.order-line,.order-total{display:flex;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line)}.order-total{border-bottom:0;background:#f2fafd}.timeline{display:grid;gap:12px}.timeline-step{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.timeline-step span{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-weight:900}.chat-shell{display:flex;flex-direction:column;gap:10px;max-width:680px}.message{max-width:80%;border-radius:8px;padding:12px 14px;color:var(--ink);background:#fff;box-shadow:var(--shadow)}.message.customer{align-self:flex-end;background:var(--blue);color:#fff}.login-card{display:grid;gap:14px;max-width:420px;padding:18px}.login-card label{display:grid;gap:7px;color:var(--ink);font-weight:800}.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{border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#9f1239;padding:10px 12px}.auth-role-hints{display:grid;gap:4px;color:var(--muted)}.table-shell{overflow:hidden}.table-row{display:grid;grid-template-columns:1fr .7fr .8fr .6fr;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.table-row:last-child{border-bottom:0}.table-head{background:#eaf7fc;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.table-tile{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff}.table-tile span{color:var(--muted);font-size:13px;font-weight:900}.table-tile strong{display:block;margin-top:18px}.ticket-card,.kitchen-ticket{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.kitchen-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kitchen-lane{display:flex;flex-direction:column;gap:10px;background:#08233e;border-color:#cfeaf5}.kitchen-lane h3,.kitchen-ticket strong{color:#fff}.kitchen-ticket{background:#08233e;border-color:#cfeaf5}.operations-shell{background:radial-gradient(circle at 12% 8%,rgba(0,91,172,.08),transparent 28%),linear-gradient(180deg,#f2fafd,#eaf7fc)}.operations-shell .sidebar{background:radial-gradient(circle at 12% 10%,rgba(255,232,215,.12),transparent 32%),linear-gradient(180deg,#08233e 0% 100%);box-shadow:16px 0 42px #005bac14}.operations-shell .brand-mark{background:linear-gradient(135deg,#005bac,#08bcef);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{background:#ffe8d724;color:#fff}.operations-shell .content{background:radial-gradient(circle at 88% 0%,rgba(0,91,172,.08),transparent 26%),transparent}.operations-shell .page-shell{width:min(100%,1180px)}.operations-shell .page-heading{border:1px solid var(--cmc-line);border-radius:24px;padding:18px;background:radial-gradient(circle at 92% 20%,rgba(0,91,172,.08),transparent 24%),linear-gradient(135deg,#f2fafd 0% 100%);box-shadow:var(--shadow)}.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);background:#ffffffe6;box-shadow:var(--shadow)}.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{background:#eaf7fc;color:var(--color-primary-hover)}.operations-shell .button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 14px 30px #005bac2e}.auth-sidebar-card{display:grid;gap:6px;margin:18px;padding:14px;border:1px solid var(--cmc-line);border-radius:8px;background:#ffffffd1}.auth-sidebar-card span,.auth-sidebar-card small{color:var(--cmc-muted)}.auth-sidebar-card strong{color:var(--cmc-brown)}.auth-sidebar-card button{justify-self:start;border:1px solid var(--cmc-line);border-radius:999px;background:#fff;color:var(--cmc-brown);padding:8px 12px;font-weight:800}.operations-shell .login-card input{background:#f2fafd;border-color:var(--cmc-line);color:var(--cmc-brown)}.operations-shell .mini-badge.placed,.operations-shell .chip.active{background:var(--color-primary)}.operations-shell .kitchen-lane{border-color:#005bac;background:radial-gradient(circle at 92% 8%,rgba(0,91,172,.12),transparent 26%),#08233e}.operations-shell .kitchen-ticket{border-color:#ffe8d72e;background:#f2fafd14}.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{display:grid;gap:16px}.admin-toolbar,.admin-panel,.admin-state-panel{border:1px solid var(--cmc-line);border-radius:24px;background:#ffffffeb;box-shadow:var(--shadow)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.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{display:flex;gap:9px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.admin-chip{flex:0 0 auto;border:1px solid var(--cmc-line);border-radius:999px;padding:10px 14px;background:#fff;color:var(--cmc-muted);cursor:pointer;font-weight:900}.admin-chip.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.admin-split-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.admin-split-layout.orders{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)}.admin-panel{display:grid;gap:14px;padding:18px}.admin-panel-heading,.admin-detail-heading,.admin-row-actions,.admin-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-menu-table,.admin-order-list,.admin-order-items,.admin-form,.admin-category-summary{display:grid;gap:10px}.admin-menu-row{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(150px,auto);gap:14px;align-items:center;border:1px solid var(--cmc-line);border-radius:22px;padding:12px;background:#f2fafd}.admin-menu-row img{width:86px;height:74px;border-radius:20px;object-fit:cover}.admin-menu-row h4{color:#08233e;font-size:17px}.admin-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.admin-tag-row span{border-radius:999px;padding:5px 8px;background:#eaf7fc;color:var(--cmc-muted);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);border-radius:999px;background:#fff;color:var(--cmc-brown);cursor:pointer;font-weight:900}.admin-row-actions button{padding:8px 11px}.admin-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 10px;background:#eaf7fc;color:var(--cmc-muted);font-size:12px;font-weight:900}.admin-status-available,.admin-status-ready,.admin-status-paid{background:#f2fafd;color:var(--ready)}.admin-status-unavailable,.admin-status-pending{background:#eaf7fc;color:var(--cmc-muted)}.admin-status-placed{background:#eaf7fc;color:var(--color-primary-hover)}.admin-status-preparing{background:#eaf7fc;color:var(--warn)}.admin-status-confirmed,.admin-status-served,.admin-status-delivered,.admin-status-completed,.admin-status-serving{background:#f2fafd;color:var(--ready)}.admin-status-cancelled,.admin-status-cleaning{background:#eaf7fc;color:#005bac}.admin-status-refunded{background:#fbeae8;color:#b42318}.admin-toolbar-metrics{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-toolbar-metrics span,.ops-health-row span{border:1px solid var(--cmc-line);border-radius:999px;padding:8px 11px;background:#f2fafd;color:var(--color-primary-hover);font-size:12px;font-weight:900;white-space:nowrap}.admin-helper-note{border-top:1px solid var(--cmc-line);padding-top:12px;color:var(--cmc-muted);font-size:13px;line-height:1.55}.ops-dashboard-grid,.staff-workspace{display:grid;gap:16px}.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);border-radius:24px;background:#ffffffeb;box-shadow:var(--shadow)}.ops-hero-panel,.ops-panel{padding:16px}.ops-hero-panel{display:grid;align-content:space-between;gap:18px;background:radial-gradient(circle at 92% 12%,rgba(0,91,172,.08),transparent 28%),linear-gradient(135deg,#f2fafd,#eaf7fc)}.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{max-width:520px;color:#08233e;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{display:flex;flex-wrap:wrap;gap:8px}.ops-feature-card{flex:1 1 180px;border:1px solid var(--cmc-line);border-radius:20px;padding:13px;background:#f2fafd}.ops-feature-card span,.staff-ticket-meta span{color:var(--color-primary-hover);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ops-feature-card strong{display:block;margin-top:7px;color:#08233e;font-size:17px}.ops-checklist{display:grid;gap:10px;margin:0;padding-left:22px;line-height:1.55}.ops-order-table{box-shadow:none}.qr-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.qr-table-card{display:grid;grid-template-columns:124px minmax(0,1fr);gap:16px;padding:16px}.qr-preview-block{position:relative;display:grid;width:124px;min-height:124px;place-items:center;border:10px solid #ffffff;border-radius:24px;background:linear-gradient(90deg,#08233E 12px,transparent 12px) 0 0 / 24px 24px,linear-gradient(#08233E 12px,transparent 12px) 0 0 / 24px 24px,#f2fafd;box-shadow:inset 0 0 0 1px var(--cmc-line),0 14px 26px #005bac14}.qr-preview-block span{border-radius:999px;padding:7px 10px;background:var(--color-primary);color:#fff;font-weight:900}.qr-table-content{display:grid;gap:12px;min-width:0}.qr-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.qr-meta div{border:1px solid var(--cmc-line);border-radius:20px;padding:10px;background:#f2fafd}.qr-meta dt,.qr-meta dd{margin:0}.qr-meta dd{color:#08233e;font-weight:900}.qr-table-card code{display:block;overflow:hidden;border:1px solid var(--cmc-line);border-radius:20px;padding:10px;background:#f2fafd;text-overflow:ellipsis;white-space:nowrap}.staff-board{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:14px}.staff-lane{display:flex;flex-direction:column;gap:12px;padding:14px;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.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{display:grid;gap:12px;border:1px solid var(--cmc-line);border-radius:20px;padding:13px;background:#f2fafd;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.staff-ticket-meta{display:grid;gap:3px}.staff-ticket-meta strong{color:#08233e}.staff-ticket ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.staff-ticket li{display:flex;justify-content:space-between;gap:12px;color:var(--cmc-brown)}.staff-action-row{display:flex;flex-wrap:wrap;gap:8px}.staff-action-row .button{flex:1 1 auto;min-height:40px;padding:9px 11px}.staff-payment-group{display:grid;gap:12px}.staff-payment-group+.staff-payment-group{margin-top:22px}.staff-section-title{margin:0;font-size:15px;color:#08233e}.staff-refund-confirm{display:grid;gap:8px;padding:12px;border:1px solid #F2C5BF;border-radius:16px;background:#fdf3f2}.staff-refund-confirm label{display:grid;gap:6px;font-size:13px;font-weight:800;color:var(--cmc-brown)}.staff-refund-confirm input{width:100%;min-height:40px;border:1px solid var(--cmc-line);border-radius:12px;padding:8px 11px;background:#fff;color:var(--cmc-ink)}.staff-refund-confirm input:focus{border-color:#b42318;outline:3px solid rgba(180,35,24,.16)}.staff-refund-warning{margin:0;font-size:12px;font-weight:700;color:#b42318}.admin-form label,.admin-check-row{display:grid;gap:7px;color:var(--cmc-brown);font-weight:900}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--cmc-line);border-radius:20px;padding:11px 12px;background:#f2fafd;color:var(--cmc-brown);outline-color:var(--color-primary)}.admin-form textarea{min-height:92px;resize:vertical}.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{display:flex;justify-content:space-between;gap:12px}.admin-category-summary span,.admin-detail-grid dd{color:var(--color-primary-hover);font-weight:900}.admin-order-card{display:grid;grid-template-columns:.8fr 1fr auto auto;gap:8px 12px;align-items:center;border-radius:22px;padding:13px;text-align:left}.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{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-detail-grid div,.admin-order-items article,.admin-state-panel{border:1px solid var(--cmc-line);border-radius:20px;padding:12px;background:#f2fafd}.admin-detail-grid dt,.admin-detail-grid dd{margin:0}.admin-order-items article{display:grid}.admin-order-items article div{display:flex;justify-content:space-between;gap:12px}@media(max-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{position:absolute;top:calc(100% + 1px);right:0;left:0;z-index:30;display:none;grid-column:auto;flex-direction:column;justify-content:flex-start;gap:0;margin:0;padding:8px 18px 14px;overflow:visible;border-radius:0 0 18px 18px;background:#fff;box-shadow:0 22px 40px #003f7d24}.customer-nav.open{display:flex;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.customer-nav a{min-height:48px;display:flex;align-items:center;padding:4px;border-bottom:1px solid #e5f0f5}.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{align-content:start;grid-template-columns:1fr}.sidebar{height:auto;gap:14px;overflow:hidden;padding:18px 20px}.brand{grid-template-columns:34px 1fr}.brand-mark{width:34px;height:34px}.sidebar h1{font-size:20px}.nav-groups{display:flex;flex-direction:row;gap:10px;overflow-x:auto;padding-bottom:6px;width:100%;scroll-snap-type:x proximity;scrollbar-width:thin}.nav-group{flex:0 0 auto;flex-direction:row;gap:10px}.nav-group h2{display:none}.nav-links{flex-direction:row;gap:10px}.nav-link{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}.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;display:grid;gap:22px;font-family:Manrope,ui-sans-serif,system-ui,sans-serif}.table-qr-command{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:clamp(30px,5vw,72px);align-items:end;overflow:hidden;border:1px solid #154a73;border-radius:28px;padding:clamp(28px,4vw,52px);background:linear-gradient(90deg,rgba(8,188,239,.08) 1px,transparent 1px) 0 0 / 54px 100%,linear-gradient(135deg,#08233e,#0a3456 68%,#075185);color:#fff;box-shadow:0 24px 54px #08233e33}.table-qr-command:after{position:absolute;right:-84px;top:-112px;width:310px;height:310px;border:56px solid rgba(8,188,239,.08);border-radius:50%;content:"";pointer-events:none}.table-qr-command-copy,.table-qr-command-stats{position:relative;z-index:1}.table-qr-kicker{color:var(--table-qr-blue);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.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{max-width:760px;margin-top:13px;color:#fff;font-size:clamp(28px,3.5vw,48px);font-weight:600;letter-spacing:-.04em;line-height:1.04;text-wrap:balance}.table-qr-command p{max-width:700px;margin-top:18px;color:#c9dce8;font-size:15px;line-height:1.7}.table-qr-command-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.table-qr-command-stats div{display:grid;gap:8px;padding:18px 16px}.table-qr-command-stats div+div{border-left:1px solid rgba(255,255,255,.2)}.table-qr-command-stats dt,.table-qr-command-stats dd{margin:0}.table-qr-command-stats dt{color:#a9c4d5;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.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{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:20px;align-items:start}.table-qr-sidebar{position:sticky;top:20px;display:grid;gap:14px}.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{margin-top:8px;color:var(--table-qr-navy);font-size:20px;letter-spacing:-.025em}.table-qr-legend ul{display:grid;gap:2px;margin:18px 0 0;padding:0;list-style:none}.table-qr-legend li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;border-top:1px solid #e7edef;padding:14px 0}.table-status-dot,.table-status-label i{width:9px;height:9px;border-radius:50%;background:#8ca1af;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{display:grid;gap:3px}.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{display:block;margin-top:10px;color:var(--table-qr-navy);font-family:ui-monospace,Cascadia Code,monospace;font-size:14px;font-weight:700}.table-qr-route-note p{margin-top:12px;color:#647987;font-size:12px;line-height:1.55}.table-zone-list{display:grid;gap:18px;min-width:0}.table-zone{overflow:hidden;border-radius:24px}.table-zone-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--table-qr-line);padding:18px 20px;background:var(--table-qr-paper)}.table-zone-heading h3{margin-top:5px;color:var(--table-qr-navy);font-size:22px;letter-spacing:-.03em}.table-zone-heading>span{color:#6d818f;font-family:ui-monospace,Cascadia Code,monospace;font-size:12px;font-weight:700}.table-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--table-qr-line)}.table-qr-card{position:relative;display:grid;gap:18px;min-width:0;padding:20px;background:#fff}.table-qr-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--table-qr-jade);content:""}.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{display:flex;align-items:center;justify-content:space-between;gap:14px}.table-number-plate{display:flex;align-items:baseline;gap:8px}.table-number-plate span{color:#6f8492;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.table-number-plate strong{color:var(--table-qr-navy);font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:27px;letter-spacing:-.05em}.table-status-label{display:inline-flex;align-items:center;gap:8px;color:#536a78;font-size:11px;font-weight:700;white-space:nowrap}.table-status-label i{display:block;width:7px;height:7px}.table-qr-card-body{display:grid;gap:18px}.table-qr-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.table-qr-meta div{display:grid;gap:5px;border-top:1px solid #dce5e8;padding-top:10px}.table-qr-meta dt,.table-qr-meta dd{margin:0}.table-qr-meta dt,.table-qr-link-copy>span{color:#7b8e9a;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.table-qr-meta dd{overflow:hidden;color:var(--table-qr-navy);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.table-qr-asset{align-items:stretch;border:1px solid var(--table-qr-line);border-radius:16px;padding:10px;background:var(--table-qr-paper)}.table-qr-preview{position:relative;display:grid;width:82px;height:82px;flex:0 0 82px;place-items:center;overflow:hidden;border:6px solid #ffffff;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;box-shadow:0 8px 18px #08233e1f}.table-qr-preview .finder{position:absolute;width:21px;height:21px;border:5px solid var(--table-qr-navy);background:#fff;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px var(--table-qr-navy)}.table-qr-preview .top-left{left:2px;top:2px}.table-qr-preview .top-right{right:2px;top:2px}.table-qr-preview .bottom-left{bottom:2px;left:2px}.table-qr-preview>span{position:relative;z-index:1;border-radius:3px;padding:4px 6px;background:var(--table-qr-blue);color:#fff;font-family:ui-monospace,Cascadia Code,monospace;font-size:9px;font-weight:700}.table-qr-image{display:grid;justify-items:center;gap:6px;width:96px}.table-qr-image img{width:96px;height:96px;border-radius:10px;background:#fff;box-shadow:0 8px 18px #08233e1f}.table-qr-image.is-loading,.table-qr-image.is-error{display:grid;place-items:center;width:96px;height:96px;border:1px dashed var(--table-qr-line);border-radius:10px;color:#7b8e9a;font-size:10px;font-weight:700;text-align:center}.table-qr-download{color:var(--table-qr-navy);font-size:10px;font-weight:700;text-decoration:underline}.table-qr-link-copy{display:grid;align-content:center;gap:7px;min-width:0;flex:1}.table-qr-link-copy code{overflow:hidden;color:#314d60;font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.table-qr-actions{justify-content:flex-start}.table-qr-actions a,.table-qr-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #bfd0d9;border-radius:8px;padding:0 14px;background:#fff;color:var(--table-qr-navy);cursor:pointer;font:700 12px/1 Manrope,sans-serif;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.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:3px solid rgba(8,188,239,.34);outline-offset:3px}.table-copy-feedback{border-radius:8px;padding:9px 11px;background:#eaf6f3;color:#126552;font-size:11px;font-weight:700}.table-copy-feedback.is-error{background:#fff3e5;color:#93500d}@media(max-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(max-width:860px){.table-qr-layout{grid-template-columns:1fr}.table-qr-sidebar{position:static;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr)}.table-qr-legend ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.table-qr-legend li{grid-template-columns:auto minmax(0,1fr);align-items:start;border:1px solid #e2e9ec;border-radius:12px;padding:12px}.table-qr-legend li b{grid-column:2}}@media(max-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{grid-template-columns:1fr;border-bottom:0}.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 rgba(255,255,255,.2);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{display:grid;grid-template-columns:96px minmax(0,1fr)}.table-qr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.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(max-width:860px){.operations-shell .sidebar{position:sticky;z-index:18;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{align-items:stretch;flex-direction:column}.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{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:thin}.qr-table-card,.staff-lane{flex:0 0 min(86vw,360px);scroll-snap-align:start}.qr-table-card{grid-template-columns:1fr}.qr-preview-block{width:100%;min-height:180px}}.button.danger{border-color:#fca5a5;background:#fff1f2;color:#dc2626}.button.danger:hover{background:#fee2e2}.login-premium-layout{display:grid;width:min(100%,520px);max-width:520px;margin:0 auto}.login-form-section{display:flex;flex-direction:column;gap:14px}.login-form-section h3{margin:0 0 4px;font-size:20px;color:var(--ink)}.login-premium-layout-centered{min-height:min(620px,calc(100vh - 220px));place-items:center}.login-card-glass{background:#ffffffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;max-width:520px}.login-form-header{margin-bottom:4px}.login-form-header h3{margin:4px 0 0;font-size:18px;color:var(--ink)}.login-back-link{display:block;text-align:center;color:var(--muted);font-size:14px;font-weight:600;margin-top:4px}.login-back-link:hover{color:var(--blue)}@media(max-width:768px){.login-premium-layout{grid-template-columns:1fr}}.admin-category-list{display:flex;flex-direction:column;gap:6px;padding:14px}.admin-category-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff;cursor:pointer;transition:all .16s ease;text-align:left;font:inherit;color:var(--ink);width:100%}.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{display:flex;flex-direction:column;gap:2px}.admin-category-card-info strong{font-size:15px}.admin-category-card-info small{color:var(--muted);font-size:12px;font-family:monospace}.admin-category-card-meta{display:flex;gap:10px;align-items:center}.admin-category-order{font-size:13px;font-weight:700;color:var(--muted)}.admin-role-selector{display:flex;flex-direction:column;gap:6px;margin-top:4px}.admin-role-option{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;cursor:pointer;transition:all .16s ease;text-align:left;font:inherit;color:var(--ink)}.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{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:20px}.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{display:flex;flex-direction:column;gap:8px;padding:14px}.admin-seed-card{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.admin-seed-card strong{display:block;font-size:14px}.admin-seed-card code{display:block;font-size:12px;color:var(--blue);margin-top:2px}.admin-seed-card small{display:block;font-size:11px;color:var(--muted);margin-top:1px}.admin-form-note.is-error{border:1px solid #fca5a5;border-radius:8px;background:#fff1f2;color:#dc2626;padding:8px 12px}.payment-request-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#3d29148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.payment-request-modal{display:grid;gap:18px;width:min(100%,520px);max-height:90vh;overflow-y:auto;padding:22px 24px 24px;border:1px solid #e8dfd0;border-radius:24px;background:#fff;box-shadow:0 32px 80px #3d291440;color:#3d2914}.payment-request-header,.payment-request-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.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{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}.payment-request-options legend{margin-bottom:8px;font-size:14px;font-weight:700}.payment-request-options label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border:2px solid #e8dfd0;border-radius:16px;background:#fffbf5;cursor:pointer}.payment-request-options label.is-selected{border-color:#5a3a30;background:#5a3a3012}.payment-request-options input{width:18px;height:18px;accent-color:#5a3a30}.payment-request-options svg{color:#5a3a30}.payment-request-options span{display:grid;gap:3px}.payment-request-options small{color:#6f5a43;font-size:12px}.payment-request-actions{justify-content:flex-end}.cmc-payment-request-submit{min-height:48px;padding:0 22px;border:0;border-radius:14px;background:#5a3a30;color:#fff;cursor:pointer;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(max-width:520px){.payment-request-overlay{align-items:end;padding:0}.payment-request-modal{width:100%;max-height:100dvh;border-radius:24px 24px 0 0;padding:20px 16px max(20px,env(safe-area-inset-bottom))}.payment-request-actions{display:grid;grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.cmc-payment-request-submit{transition:none}}.vietqr-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#5a3a3080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:vqr-fadeIn .2s ease}@keyframes vqr-fadeIn{0%{opacity:0}to{opacity:1}}.vietqr-modal{width:min(92vw,480px);max-height:90vh;overflow-y:auto;border-radius:24px;background:#fff;box-shadow:0 32px 80px #5a3a3040;animation:vqr-slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes vqr-slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.vietqr-modal-header{display:flex;justify-content:space-between;align-items:start;padding:22px 24px 14px;border-bottom:1px solid #E8DFD0}.vietqr-modal-header .panel-kicker{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c4a35a}.vietqr-modal-header h3{margin:4px 0 0;font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700;color:#3d2914}.vietqr-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #E8DFD0;border-radius:10px;background:#fff;font-size:16px;cursor:pointer;color:#8b7355;transition:background .2s ease}.vietqr-close:hover{background:#fdf8f0}.vietqr-content{padding:20px 24px 24px}.vietqr-loading,.vietqr-error{padding:40px 24px;text-align:center;color:#8b7355}.vietqr-qr-section{text-align:center;padding:8px 0 16px}.vietqr-qr-image{width:220px;height:220px;border-radius:16px;border:2px solid #E8DFD0;object-fit:contain}.vietqr-scan-hint{margin:10px 0 0;color:#8b7355;font-size:14px;font-weight:600}.vietqr-bank-info{margin-top:12px}.vietqr-bank-info dl{display:grid;gap:0;margin:0}.vietqr-bank-info dl>div{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #E8DFD0}.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{margin:0;font-size:14px;font-weight:600;color:#3d2914;word-break:break-all}.vietqr-bank-info code{color:#5a3a30;font-size:13px}.vietqr-status-bar{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;border-radius:12px;background:#c4a35a1a;color:#5a3a30;font-size:14px;font-weight:600}.vietqr-polling-dot{width:10px;height:10px;border-radius:50%;background:#c4a35a;animation:vqr-pulse 1.5s infinite}@keyframes vqr-pulse{0%,to{opacity:1}50%{opacity:.3}}.vietqr-success{text-align:center;padding:16px 0;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.vietqr-success-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#2f7d4f14;color:#2f7d4f;font-size:32px;font-weight:900;margin-bottom:12px;animation:vqr-success-pop .46s var(--ease-emphasized) both}@keyframes vqr-success-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.vietqr-success h4{margin:0 0 6px;font-family:Playfair Display,Georgia,serif;font-size:20px;color:#2f7d4f}.vietqr-success p{margin:0 0 16px;color:#8b7355;font-size:14px}.vietqr-success .button.primary{background:#5a3a30;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:700;cursor:pointer}.vietqr-success .button.primary:hover{background:#6e453b}@media(max-width:520px){.vietqr-overlay{align-items:end}.vietqr-modal{border-radius:24px 24px 0 0;max-height:100dvh;width:100%}.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{height:min(210px,62vw);width:min(210px,62vw)}.vietqr-bank-info dl>div{grid-template-columns:minmax(88px,.75fr) minmax(0,1.25fr)}.vietqr-success .button.primary{min-height:44px;width:100%}}.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 ease,background-color .16s ease,color .16s ease}.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{position:relative;overflow:hidden;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%,rgba(8,188,239,.12),transparent 48%),linear-gradient(135deg,#ffffff 0%,var(--color-bg) 100%);box-shadow:var(--elevation-1)}.cmc-portal-content .page-heading:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--color-primary),var(--color-cyan))}.cmc-portal-content .page-heading .eyebrow{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:5px 12px;background:#fff;color:var(--color-primary)}.cmc-portal-content .page-heading h2{margin:var(--space-3) 0 var(--space-2);font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-.02em}.cmc-portal-content .stat-grid{gap:var(--space-4)}.cmc-portal-content .stat-card{position:relative;overflow:hidden;padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);transition:box-shadow .2s ease,border-color .2s ease}.cmc-portal-content .stat-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-cyan))}.cmc-portal-content .stat-card:hover{border-color:var(--color-primary);box-shadow:var(--elevation-3)}.cmc-portal-content .stat-card strong{font-size:34px;letter-spacing:-.02em}.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{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.admin-invoice-search{min-width:220px;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-sm);outline:none;transition:border-color var(--duration-fast) var(--ease-standard)}.admin-invoice-search:focus{border-color:var(--color-primary)}.admin-invoice-table-wrap{overflow-x:auto}.admin-invoice-table{width:100%;border-collapse:collapse;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{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:grid;place-items:center;background:#08233e80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--duration-base) var(--ease-decelerate) both}.admin-invoice-modal{width:min(640px,92vw);max-height:85vh;overflow-y:auto;background:var(--color-card);border-radius:var(--radius-xl);box-shadow:var(--elevation-4);animation:scale-in var(--duration-slow) var(--ease-emphasized) both}.admin-invoice-modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--color-border-light)}.admin-invoice-modal-head h3{margin:0;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary-dark)}.admin-invoice-modal-head button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--color-bg-subtle);color:var(--color-muted);font-size:var(--text-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.admin-invoice-modal-head button:hover{background:var(--color-border)}.admin-invoice-modal-body{padding:var(--space-5)}.admin-invoice-meta{display:grid;grid-template-columns:1fr 1fr;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)}.admin-invoice-meta p{margin:0;font-size:var(--text-sm);color:var(--color-muted)}.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{width:100%;border-collapse:collapse;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);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.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{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-sm);margin-bottom:var(--space-3)}@media print{.admin-invoice-backdrop{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.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;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:linear-gradient(135deg,#f5fafe,#e2f1f9);font-family:var(--font-ui)}.cmc-login-split-card{display:grid;grid-template-columns:1.1fr 1fr;width:min(1000px,95vw);min-height:600px;background:var(--color-card);border-radius:24px;box-shadow:0 20px 40px #08233e14;overflow:hidden;border:1px solid var(--color-border-light)}.cmc-login-hero-side{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-8);color:#fff;overflow:hidden}.cmc-login-hero-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#08233e1a,#08233ebf);z-index:1}.cmc-login-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 10s ease}.cmc-login-split-card:hover .cmc-login-hero-img{transform:scale(1.05)}.cmc-login-hero-content{position:relative;z-index:2}.cmc-login-hero-badge{display:inline-block;padding:4px var(--space-3);background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3)}.cmc-login-hero-side h2{font-family:var(--font-display);font-size:clamp(28px,3.5vw,44px);margin:0 0 var(--space-2);line-height:1.1;color:#fff}.cmc-login-hero-side p{margin:0;font-size:var(--text-sm);color:#ffffffd9;line-height:var(--leading-relaxed);max-width:380px}.cmc-login-form-side{display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:#fff}.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);font-weight:800;color:var(--color-primary-dark);margin:0 0 var(--space-1)}.cmc-login-form-header p{margin:0;font-size:var(--text-sm);color:var(--color-muted)}.cmc-login-input-group{margin-bottom:var(--space-4)}.cmc-login-input-group label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-primary-dark);margin-bottom:var(--space-2);letter-spacing:.05em}.cmc-login-input-wrapper{position:relative;display:flex;align-items:center}.cmc-login-input-icon{position:absolute;left:var(--space-3);color:var(--color-muted);display:flex;align-items:center;pointer-events:none}.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);outline:none;background:#fafcff;transition:all var(--duration-fast) var(--ease-standard);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{position:absolute;right:var(--space-3);border:0;background:transparent;color:var(--color-muted);cursor:pointer;display:flex;align-items:center;padding:var(--space-1)}.cmc-login-password-toggle:hover{color:var(--color-primary)}.cmc-login-extra{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);font-size:var(--text-xs)}.cmc-login-remember{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:600;color:var(--color-muted)}.cmc-login-remember input{cursor:pointer}.cmc-login-submit-btn{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--gradient-cta);border:0;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:700;cursor:pointer;box-shadow:0 4px 15px #005bac26;transition:all var(--duration-fast) var(--ease-standard)}.cmc-login-submit-btn:hover{box-shadow:0 6px 20px #005bac40;transform:translateY(-1px)}.cmc-login-submit-btn:active{transform:translateY(0)}.cmc-login-divider{display:flex;align-items:center;text-align:center;margin:var(--space-5) 0;font-size:var(--text-xs);color:var(--color-muted)}.cmc-login-divider:before,.cmc-login-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border-light)}.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{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-6)}.cmc-social-btn{height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;font-size:var(--text-xs);font-weight:600;cursor:pointer;color:var(--color-ink);transition:background var(--duration-fast) var(--ease-standard)}.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);text-decoration:none;font-weight:700}.cmc-login-footer a:hover{text-decoration:underline}.cmc-login-back-link{display:inline-block;margin-top:var(--space-3);color:var(--color-muted)!important;font-weight:600!important}.cmc-login-back-link:hover{color:var(--color-primary)!important}@media(max-width:800px){.cmc-login-split-card{grid-template-columns:1fr}.cmc-login-hero-side{display:none}.cmc-login-form-side{padding:var(--space-6)}}:root.brand-theme{--vian-primary: var(--brand-chestnut);--vian-secondary: var(--brand-clay-line);--vian-light: #f2dfd2;--vian-cream: var(--brand-ivory);--vian-sand: #f8eee5;--vian-brown: var(--brand-chestnut);--vian-brown-dark: var(--brand-chestnut-dark);--vian-brown-light: var(--brand-muted);--vian-gold: #d2ad70;--vian-gold-dark: var(--brand-brass);--vian-green: var(--brand-success);--vian-beige: #f8eee5;--vian-divider: var(--brand-clay-line);--vian-footer-bg: var(--brand-chestnut-dark);--vian-card-bg: #f1dfd3;--font-script: "Dancing Script", cursive}.landing-page{width:100%;margin:0 auto;overflow-x:hidden;background:var(--vian-cream);color:var(--vian-brown-dark);font-family:var(--font-ui);line-height:var(--leading-normal)}.landing-page :is(.landing-cuisine-price,.signature-dish-price,.landing-promo-rich-price strong,.cmc-card-price,[class*=total]){font-family:var(--brand-font-utility);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.015em}.landing-page h1,.landing-page h2,.landing-page h3{font-family:var(--font-display);font-weight:700;letter-spacing:1.2px;text-wrap:balance;color:var(--vian-brown)}.landing-page img{display:block;max-width:100%}.landing-eyebrow{margin:0 0 var(--space-3);color:var(--vian-gold-dark);font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:52px;border:2px solid transparent;border-radius:var(--radius-pill);padding:0 var(--space-6);font-family:var(--font-ui);font-weight:700;font-size:var(--text-sm);cursor:pointer;text-decoration:none;transition:all var(--duration-base) var(--ease-standard)}.landing-button:hover{transform:translateY(-2px)}.landing-button:active{transform:translateY(0)}.landing-button.primary{background:var(--vian-brown);color:#fff;box-shadow:0 4px 20px #5c3d2e40}.landing-button.primary:hover{background:var(--vian-brown-dark);box-shadow:0 8px 30px #5c3d2e59}.landing-button.secondary{border-color:#ffffff80;color:#fff;background:#ffffff14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-button.secondary:hover{border-color:#fff;background:#ffffff26}.landing-button.outline{border-color:var(--vian-brown);color:var(--vian-brown);background:transparent}.landing-button.outline:hover{background:var(--vian-brown);color:#fff}.landing-button.light{background:#fff;color:var(--color-primary-dark);box-shadow:var(--elevation-2)}.landing-button.light:hover{box-shadow:var(--elevation-3)}.landing-header{position:absolute;top:0;left:0;right:0;z-index:var(--z-nav);transition:all var(--duration-slow) var(--ease-standard)}.landing-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:0 auto;padding:9px var(--space-6);background:transparent;border:none;border-radius:0;box-shadow:0 .5rem 1rem #6e453b1a,inset 0 -1px #6e453b33;overflow:hidden}.landing-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px;z-index:2}.landing-header-bg{display:none}.landing-header.scrolled{position:fixed}.landing-header.scrolled .landing-header-inner{margin:0 auto;border-radius:0;width:100%;max-width:1440px;padding-block:9px;background:#fff2eef2;border:none;box-shadow:0 .5rem 1rem #6e453b26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-header.scrolled .landing-brand-text strong{color:var(--vian-brown)}.landing-header.scrolled .landing-brand-text small{color:var(--vian-brown-light)}.landing-header.scrolled .landing-nav a{color:var(--vian-brown)}.landing-header.scrolled .landing-nav a:hover,.landing-header.scrolled .landing-nav a.active{color:var(--vian-gold-dark)}.landing-brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-ink);z-index:1}.landing-brand-logo{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover;transition:transform var(--duration-base) var(--ease-spring)}.landing-brand:hover .landing-brand-logo{transform:scale(1.05)}.landing-brand-text{display:flex;flex-direction:column}.landing-brand-text strong{font-family:var(--font-display);font-size:var(--text-lg);color:#fff}.landing-brand-text small{font-size:var(--text-xs);color:#ffffffb3;font-weight:500}.landing-nav{display:flex;align-items:center;gap:var(--space-1);z-index:1}.landing-nav a{padding:var(--space-2) .75rem;margin:0 2px;border-radius:0;color:#fff;font-family:var(--font-display);font-weight:400;font-size:1rem;text-decoration:none;position:relative;transition:all var(--duration-fast) var(--ease-standard)}.landing-nav a:after{content:"";position:absolute;bottom:2px;left:50%;width:0;height:2px;background:var(--vian-gold);transition:all .3s ease;transform:translate(-50%)}.landing-nav a:hover:after,.landing-nav a.active:after{width:60%}.landing-nav a:hover,.landing-nav a.active{color:var(--vian-gold);background:transparent}.landing-nav-cta{margin-left:var(--space-3);padding:var(--space-2) var(--space-5)!important;background:var(--vian-gold)!important;color:var(--vian-brown)!important;border-radius:var(--radius-pill)!important;font-family:"Playfair Display SC",var(--font-display),serif!important;box-shadow:0 2px 12px #6e453b33}.landing-nav-cta:after{display:none!important}.landing-nav-cta:hover{box-shadow:0 4px 20px #6e453b4d!important;background:var(--vian-gold-dark)!important}.landing-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;z-index:1;align-items:center;color:#fff}.landing-menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:var(--color-ink);transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.landing-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.landing-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.landing-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.landing-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:flex-end;isolation:isolate;overflow:hidden;background:#f7fafc}.landing-hero-slideshow{position:absolute;inset:0;z-index:-2}.landing-hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:opacity 1.2s var(--ease-decelerate),transform 6s var(--ease-decelerate)}.landing-hero-slide.active{opacity:1;transform:scale(1)}.landing-hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.landing-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,#3a25181a,#3a25180d,#3a251833 60%,#3a251873)}.landing-hero-copy{position:relative;width:min(600px,50%);margin-right:clamp(28px,8vw,140px);padding:0;text-align:right;z-index:1}.hero-script-text{display:block;font-family:Dancing Script,Cormorant Garamond,cursive,serif;font-size:clamp(60px,8vw,120px);font-weight:400;color:#fff;line-height:1;text-shadow:0 2px 20px rgba(58,37,24,.3);margin-bottom:var(--space-3)}.hero-sub-heading{display:block;font-family:var(--font-display);font-size:clamp(20px,2.5vw,36px);font-weight:700;color:#fff;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 10px rgba(110,69,59,.3)}.landing-hero-tags{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);animation:fade-in-up .8s var(--ease-decelerate) .1s both}.landing-hero-tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--elevation-1)}.landing-hero-tag.highlight{background:#fff;color:var(--vian-brown-dark)}.landing-hero-tag.promo{background:var(--vian-gold);color:var(--vian-brown-dark)}.landing-hero h1{margin:0;font-size:clamp(34px,3.8vw,56px);line-height:1.2;font-weight:400;color:#fff;text-shadow:0 2px 15px rgba(58,37,24,.3);animation:fade-in-up .8s var(--ease-decelerate) .3s both}.landing-hero h1 .highlight-text{color:var(--vian-gold);font-style:italic}.landing-hero-subtitle{max-width:420px;margin:var(--space-4) 0 0;color:#ffffffe6;font-size:clamp(14px,1.1vw,15px);line-height:var(--leading-relaxed);text-shadow:0 1px 4px rgba(58,37,24,.2);animation:fade-in-up .8s var(--ease-decelerate) .5s both}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6);animation:fade-in-up .8s var(--ease-decelerate) .7s both}.landing-button.secondary-light{background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);color:#fff;box-shadow:0 4px 15px #0000000d}.landing-button.secondary-light:hover{background:#ffffff4d;border-color:#fff}.landing-hero-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:#3a25184d;border:1px solid rgba(255,255,255,.3);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:5;transition:all var(--duration-fast) var(--ease-standard);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-hero-nav-btn:hover{background:#3a251899;border-color:#fff;transform:translateY(-50%) scale(1.05)}.landing-hero-nav-btn.prev{left:var(--space-5)}.landing-hero-nav-btn.next{right:var(--space-5)}.landing-hero-dots{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;gap:var(--space-3);z-index:2}.landing-hero-dot{width:10px;height:10px;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:transparent;padding:0;cursor:pointer;transition:all var(--duration-base) var(--ease-standard)}.landing-hero-dot.active{background:#fff;border-color:#fff;width:24px;border-radius:5px}.landing-hero-stats{position:absolute;bottom:0;left:0;right:0;height:90px;background:#3a2518bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(201,169,110,.2);display:flex;align-items:center;justify-content:space-around;z-index:3;padding:0 var(--space-8)}.landing-hero-stat-col{display:flex;align-items:center;gap:var(--space-4);color:#fff;flex:1;justify-content:center}.landing-hero-stat-col:not(:last-child){border-right:1px solid rgba(201,169,110,.25)}.landing-hero-stat-icon{color:var(--vian-gold)}.landing-hero-stat-info{display:flex;flex-direction:column}.landing-hero-stat-info strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1;color:#fff}.landing-hero-stat-info span{font-size:var(--text-xs);color:#ffffffbf;margin-top:2px}@media(max-width:800px){.landing-hero-nav-btn{display:none}.landing-hero-stats{flex-wrap:wrap;height:auto;padding:var(--space-4) var(--space-2)}.landing-hero-stat-col{flex-basis:50%;padding:var(--space-2) 0}.landing-hero-stat-col:not(:last-child){border-right:none}.landing-hero-copy{width:90%;margin-left:var(--space-5);padding:120px 0 160px}.landing-hero-dots{bottom:180px}}.landing-vian-section-title{text-align:center;padding:clamp(40px,5vw,70px) clamp(28px,8vw,140px);background:var(--vian-cream);border-bottom:1px solid var(--vian-divider)}.landing-vian-section-title h2{font-family:var(--font-display);font-size:clamp(28px,3.5vw,44px);font-weight:700;color:var(--vian-brown);text-transform:uppercase;letter-spacing:1.2px;margin:0}.landing-cuisine-vian{position:relative;padding:clamp(40px,5vw,70px) clamp(28px,8vw,100px);background:var(--vian-cream);text-align:center;overflow:hidden}.landing-cuisine-vian:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f9f4edeb,#f9f4edd9,#f9f4edeb),url(/album-images/03-goc-am-cung.png) center / cover no-repeat;opacity:.6;pointer-events:none}.landing-cuisine-vian>.landing-vian-section-title{position:relative;z-index:1}.landing-cuisine-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);max-width:1400px;margin:0 auto}.landing-cuisine-item{display:flex;flex-direction:column;gap:clamp(12px,1.5vw,20px)}.landing-cuisine-item.reverse{flex-direction:column-reverse}.landing-cuisine-img-frame{position:relative;padding:10px;border:2px solid var(--vian-secondary);border-radius:6px;background:#fff}.landing-cuisine-img-frame:before,.landing-cuisine-img-frame:after{content:"";position:absolute;width:24px;height:24px;border:2px solid var(--vian-gold);pointer-events:none}.landing-cuisine-img-frame:before{top:-2px;left:-2px;border-right:none;border-bottom:none;border-radius:4px 0 0}.landing-cuisine-img-frame:after{bottom:-2px;right:-2px;border-left:none;border-top:none;border-radius:0 0 4px}.landing-cuisine-img-frame img{width:100%;aspect-ratio:1 / 1.1;object-fit:cover;border-radius:4px;display:block;transition:transform .3s ease}.landing-cuisine-item:hover .landing-cuisine-img-frame img{transform:scale(1.05)}.landing-cuisine-text{text-align:left;padding:0 4px}.landing-cuisine-text h3{font-family:var(--font-display);font-size:clamp(14px,1.3vw,20px);font-weight:700;color:var(--vian-brown);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}.landing-cuisine-text p{font-family:var(--font-ui);font-size:clamp(12px,.95vw,14px);font-weight:400;color:var(--vian-brown-dark);line-height:1.6;margin:0}.landing-cuisine-category{font-family:var(--font-script);font-size:13px;font-weight:500;color:var(--vian-gold);margin:0 0 4px!important;letter-spacing:.02em}.landing-cuisine-price{display:inline-block;margin-top:8px;font-family:var(--font-display);font-size:clamp(14px,1.2vw,18px);font-weight:700;color:var(--vian-green)}@media(max-width:1024px){.landing-cuisine-grid{grid-template-columns:repeat(2,1fr)}.landing-cuisine-item.reverse{flex-direction:column}}@media(max-width:600px){.landing-cuisine-grid{grid-template-columns:1fr;max-width:400px}}.landing-space-vian{position:relative;padding:clamp(50px,6vw,80px) clamp(28px,8vw,120px);background:#8b7355;overflow:hidden;text-align:center}.landing-space-vian-bg{position:absolute;inset:0;background-image:url(https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=1400&h=600&fit=crop&q=15);background-size:cover;background-position:center;opacity:.15;pointer-events:none;filter:sepia(.3) saturate(.7)}.landing-space-gallery{position:relative;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:clamp(16px,2.5vw,32px);max-width:1200px;margin:0 auto;align-items:center}.landing-space-frame{position:relative;padding:10px;background:#ffffff14;border:2px solid rgba(216,191,164,.5);border-radius:12px;overflow:hidden;transition:transform .3s ease}.landing-space-frame:hover{transform:translateY(-4px)}.landing-space-frame:before,.landing-space-frame:after{content:"";position:absolute;width:28px;height:28px;border:2px solid rgba(221,197,165,.7);pointer-events:none;z-index:1}.landing-space-frame:before{top:4px;left:4px;border-right:none;border-bottom:none;border-radius:6px 0 0}.landing-space-frame:after{bottom:4px;right:4px;border-left:none;border-top:none;border-radius:0 0 6px}.landing-space-frame img{width:100%;aspect-ratio:4 / 3.5;object-fit:cover;border-radius:8px;display:block;transition:transform .3s ease}.landing-space-frame.featured img{aspect-ratio:4 / 4.5}.landing-space-frame:hover img{transform:scale(1.05)}@media(max-width:768px){.landing-space-gallery{grid-template-columns:1fr;max-width:500px}.landing-space-frame.featured img{aspect-ratio:4 / 3.5}}.landing-scan-notice{width:fit-content;max-width:520px;margin-top:var(--space-5)!important;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff!important;font-size:var(--text-sm);animation:fade-in-up var(--duration-slow) var(--ease-decelerate) both}.landing-about{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;padding:var(--space-10) clamp(28px,8vw,140px);background:var(--vian-cream);border-bottom:1px solid var(--vian-divider);overflow:hidden}.landing-about:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f9f4eded,#f9f4edde,#f9f4eded),url(/album-images/01-ngoai-canh-nha-hang.png) center / cover no-repeat;opacity:.5;pointer-events:none;z-index:0}.landing-about>*{position:relative;z-index:1}.landing-about-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 40px #5c3d2e26;aspect-ratio:4/5}.landing-about-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slower) var(--ease-decelerate)}.landing-about-image:hover img{transform:scale(1.03)}.landing-about-content h2{margin:0;font-size:clamp(30px,3vw,44px);color:var(--vian-brown-dark);line-height:var(--leading-tight)}.landing-about-content p{margin:var(--space-5) 0 0;color:var(--vian-brown-light);font-size:var(--text-base);line-height:var(--leading-relaxed)}.landing-about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-7)}.landing-about-stat{text-align:center;padding:var(--space-4);background:var(--vian-sand);border-radius:var(--radius-md);border:1px solid var(--vian-divider)}.landing-about-stat strong{display:block;font-family:var(--font-display);font-size:var(--text-3xl);color:var(--vian-brown)}.landing-about-stat span{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--vian-brown-light)}.landing-section{position:relative;padding:var(--space-10) clamp(28px,8vw,140px);background:var(--vian-cream);overflow:hidden}.landing-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f9f4eded,#f9f4ede0,#f9f4eded),url(/album-images/02-khong-gian-tang-1.png) center / cover no-repeat;opacity:.5;pointer-events:none;z-index:0}.landing-section>*{position:relative;z-index:1}.landing-section.alt-bg{background:var(--vian-sand)}.landing-section.alt-bg:before{background:linear-gradient(180deg,#ede4d5ed,#ede4d5e0,#ede4d5ed),url(/album-images/08-chi-tiet-trang-tri.png) center / cover no-repeat}.landing-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-7);margin-bottom:var(--space-7)}.landing-section-heading h2{margin:0;font-size:clamp(28px,3vw,44px);color:var(--vian-brown-dark);line-height:var(--leading-tight)}.landing-section-heading p{max-width:560px;margin:var(--space-3) 0 0;color:var(--vian-brown-light);line-height:var(--leading-relaxed)}.signature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.signature-dish{min-width:0;background:#fff;border:none;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 3px 6px -4px #00000029,0 3px 6px #0000003b;transition:all var(--duration-base) var(--ease-standard);cursor:pointer}.signature-dish:hover{transform:translateY(-6px);box-shadow:0 12px 40px #6e453b26}.signature-dish img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .15s ease}.signature-dish:hover img{transform:scale(1.2)}.signature-dish-info{padding:20px 10px;background:var(--vian-card-bg)}.signature-dish-category{margin:0 0 var(--space-2);color:var(--vian-brown);font-size:var(--text-xs);font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.signature-dish-name{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--vian-brown)}.signature-dish-desc{display:block;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:var(--space-2);color:var(--vian-brown-dark);font-size:var(--text-sm);line-height:var(--leading-relaxed);min-height:42px}.signature-dish-price{display:inline-block;margin-top:var(--space-3);padding:var(--space-1) var(--space-3);background:transparent;color:var(--vian-brown);border-radius:0;font-weight:800;font-size:20px}.landing-empty-menu{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);color:var(--color-muted);text-align:center}.landing-promos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.landing-promos-rich{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,32px);max-width:1200px;margin:0 auto}.landing-promo-rich-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #6e453b14;transition:all .3s ease;border:1px solid var(--vian-divider)}.landing-promo-rich-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px #6e453b26}.landing-promo-rich-card.featured{border:2px solid var(--vian-gold);box-shadow:0 4px 20px #6e453b1f}.landing-promo-rich-img{position:relative;overflow:hidden}.landing-promo-rich-img img{width:100%;aspect-ratio:3 / 2;object-fit:cover;transition:transform .4s ease}.landing-promo-rich-card:hover .landing-promo-rich-img img{transform:scale(1.08)}.landing-promo-rich-discount{position:absolute;top:16px;right:16px;background:var(--vian-brown);color:#fff;font-family:var(--font-display);font-weight:800;font-size:20px;padding:8px 16px;border-radius:8px;box-shadow:0 4px 12px #0003;letter-spacing:.5px}.landing-promo-rich-ribbon{position:absolute;top:16px;left:-4px;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;font-weight:800;font-size:11px;padding:4px 16px 4px 12px;letter-spacing:1.5px;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);box-shadow:0 2px 8px #dc26264d}.landing-promo-rich-body{padding:20px 24px 24px}.landing-promo-rich-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--vian-sand);color:var(--vian-brown);font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;border-radius:20px;margin-bottom:12px}.landing-promo-rich-body h3{margin:0 0 8px;font-size:clamp(18px,1.5vw,22px);font-weight:700;color:var(--vian-brown);line-height:1.3}.landing-promo-rich-body p{margin:0 0 16px;font-size:14px;color:var(--vian-brown-light);line-height:1.6}.landing-promo-rich-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--vian-divider)}.landing-promo-rich-price{font-size:13px;color:var(--vian-brown-light)}.landing-promo-rich-price strong{font-size:18px;color:var(--vian-brown);font-weight:800}.landing-promo-rich-time{font-size:13px;color:var(--vian-brown-light)}.landing-promo-rich-cta{display:inline-flex;align-items:center;padding:8px 20px;background:var(--vian-brown);color:#fff;font-size:13px;font-weight:700;border-radius:8px;text-decoration:none;transition:all .2s ease;letter-spacing:.5px}.landing-promo-rich-cta:hover{background:var(--vian-brown-dark);transform:translateY(-1px);box-shadow:0 4px 12px #6e453b4d}@media(max-width:900px){.landing-promos-rich{grid-template-columns:1fr;max-width:480px}}.landing-promo-vian-section{position:relative;padding:clamp(50px,6vw,80px) clamp(28px,8vw,120px);background:var(--vian-cream);text-align:center}.landing-promo-vian-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);max-width:1100px;margin:0 auto}.landing-promo-vian-item{text-align:center}.landing-promo-vian-frame{position:relative;padding:14px;margin-bottom:20px;cursor:pointer}.landing-promo-vian-frame:before{content:"";position:absolute;inset:0;border:2px solid rgba(167,130,100,.45);border-radius:12px;pointer-events:none;z-index:1}.landing-promo-vian-frame:after{content:"";position:absolute;z-index:2;pointer-events:none;top:-4px;left:-4px;width:40px;height:40px;border-top:3px solid var(--vian-gold-dark);border-left:3px solid var(--vian-gold-dark);border-radius:8px 0 0}.landing-promo-vian-item:before{content:"";display:block;position:relative;width:0;height:0}.landing-promo-vian-item{position:relative}.landing-promo-vian-item:after{content:"";position:absolute;z-index:2;pointer-events:none;top:calc(14px + var(--frame-img-height, 380px));right:10px;width:40px;height:40px;border-bottom:3px solid var(--vian-gold-dark);border-right:3px solid var(--vian-gold-dark);border-radius:0 0 8px}.landing-promo-vian-frame img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:8px;display:block;transition:transform .4s ease}.landing-promo-vian-frame:hover img{transform:scale(1.04)}.landing-promo-vian-badge{position:absolute;top:24px;right:24px;z-index:3;background:var(--vian-brown);color:#fff;font-weight:800;font-size:18px;padding:8px 16px;border-radius:8px;box-shadow:0 4px 16px #00000040;letter-spacing:.5px}.landing-promo-vian-item h3{margin:0 0 8px;font-size:clamp(16px,1.4vw,22px);font-weight:700;color:var(--vian-brown);text-transform:uppercase;letter-spacing:1px}.landing-promo-vian-item p{font-size:14px;color:var(--vian-brown-light);line-height:1.6;max-width:280px;margin:0 auto}@media(max-width:768px){.landing-promo-vian-grid{grid-template-columns:1fr;max-width:360px}}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);counter-reset:step}.landing-step{position:relative;text-align:center;padding:var(--space-7) var(--space-5);background:#fff;border:1px solid var(--vian-divider);border-radius:var(--radius-lg);transition:all var(--duration-base) var(--ease-standard)}.landing-step:hover{border-color:var(--vian-gold);box-shadow:0 8px 30px #5c3d2e14}.landing-step-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto var(--space-5);background:var(--vian-sand);border-radius:50%;color:var(--vian-brown);font-size:32px;transition:all var(--duration-base) var(--ease-standard)}.landing-step:hover .landing-step-icon{background:var(--vian-brown);color:#fff;transform:scale(1.08)}.landing-step-number{counter-increment:step;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0 auto var(--space-3);background:var(--vian-brown);color:#fff;border-radius:50%;font-weight:800;font-size:var(--text-sm)}.landing-step-number:before{content:counter(step)}.landing-step h3{margin:0;font-family:var(--font-ui);font-size:var(--text-lg);font-weight:700;color:var(--vian-brown-dark)}.landing-step p{margin:var(--space-3) 0 0;color:var(--vian-brown-light);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.landing-testimonials-track{display:flex;gap:var(--space-5);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:var(--space-4)}.landing-testimonials-track::-webkit-scrollbar{display:none}.landing-testimonial{flex:0 0 min(420px,90vw);scroll-snap-align:start;padding:var(--space-6) var(--space-8);background:#fff;border:1px dashed var(--vian-divider);border-radius:var(--radius-lg);box-shadow:0 4px 15px #5c3d2e0a;transition:all var(--duration-base) var(--ease-standard);text-align:center;display:flex;flex-direction:column;align-items:center}.landing-testimonial:hover{border-color:var(--vian-gold);box-shadow:0 10px 30px #5c3d2e14}.landing-testimonial-stars{color:var(--vian-gold);font-size:var(--text-base);letter-spacing:2px;margin-bottom:var(--space-2)}.landing-testimonial-text{margin:var(--space-4) 0 var(--space-6);color:var(--vian-brown-dark);font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-relaxed);font-style:italic;opacity:.9}.landing-testimonial-author{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:auto}.landing-testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--vian-sand);box-shadow:0 2px 8px #5c3d2e1a}.landing-testimonial-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--vian-brown);letter-spacing:1.2px;text-transform:uppercase}.landing-testimonial-role{display:block;font-size:var(--text-xs);color:var(--vian-brown-light)}.landing-testimonial-dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-5)}.landing-testimonial-dot{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:var(--vian-divider);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.landing-testimonial-dot.active{width:24px;border-radius:var(--radius-pill);background:var(--vian-brown)}.landing-ai-cta{background:linear-gradient(135deg,#5a3a30,#6e453b,#7a4f42);padding:40px 24px}.landing-ai-cta-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-ai-cta-text{display:flex;align-items:center;gap:18px;color:#fff}.landing-ai-cta-text svg{flex-shrink:0;opacity:.9}.landing-ai-cta-text h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--vian-gold, #e8c870)}.landing-ai-cta-text p{margin:4px 0 0;font-size:14px;opacity:.9;line-height:1.5}.landing-ai-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:#fff;color:#5a3a30;border-radius:40px;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;transition:all .25s ease;box-shadow:0 4px 16px #00000026}.landing-ai-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003;background:#fdf8f4}@media(max-width:768px){.landing-ai-cta{padding:28px 16px}.landing-ai-cta-inner{flex-direction:column;text-align:center}.landing-ai-cta-text{flex-direction:column;gap:10px}}.landing-ai-section{padding:60px 24px;background:linear-gradient(135deg,#5a3a30,#6e453b,#7a4f42);color:#fff}.landing-ai-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}.landing-ai-intro{display:flex;flex-direction:column;justify-content:center;gap:20px}.landing-ai-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:40px;font-size:13px;font-weight:700;letter-spacing:.5px;width:fit-content;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-ai-intro h2{font-size:42px;font-weight:700;line-height:1.2;margin:0}.landing-ai-intro p{font-size:16px;line-height:1.7;opacity:.85;max-width:420px;margin:0}.landing-ai-prompts{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.landing-ai-prompt-btn{padding:10px 20px;border:1px solid rgba(255,255,255,.3);border-radius:24px;background:#ffffff14;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-ai-prompt-btn:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px)}.landing-ai-chat-window{display:flex;flex-direction:column;background:#fdf8f4;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #0003;min-height:480px;max-height:560px}.landing-ai-chat-header{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,#5a3a30,#6e453b);color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.landing-ai-chat-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#fdf8f4,#fff5ee)}.landing-ai-msg{display:flex;gap:10px;align-items:flex-start;animation:fade-in-up .3s ease both}.landing-ai-msg.user{flex-direction:row-reverse}.landing-ai-msg-avatar{width:28px;height:28px;border-radius:50%;background:#6e453b;color:#fff;display:grid;place-items:center;flex-shrink:0}.landing-ai-msg-bubble{max-width:78%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.6}.landing-ai-msg.assistant .landing-ai-msg-bubble{background:#fff;color:#5a3a30;border:1px solid rgba(167,130,100,.15);border-bottom-left-radius:4px;box-shadow:0 1px 4px #5c3d2e0f}.landing-ai-msg.user .landing-ai-msg-bubble{background:#6e453b;color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #5c3d2e26}.landing-ai-suggestions{display:flex;flex-direction:column;gap:8px}.landing-ai-suggestion-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid rgba(167,130,100,.2);border-radius:12px;animation:fade-in-up .3s ease both}.landing-ai-suggestion-card:hover{border-color:#ddc5a5}.landing-ai-suggestion-card img{width:48px;height:48px;border-radius:10px;object-fit:cover}.landing-ai-suggestion-info{flex:1;min-width:0}.landing-ai-suggestion-info strong{display:block;font-size:14px;color:#5a3a30;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-ai-suggestion-info span{font-size:12px;color:#6e453b;font-weight:700}.landing-ai-suggestion-btn{padding:6px 14px;border:0;border-radius:8px;background:#6e453b;color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.landing-ai-suggestion-btn:hover{background:#5a3a30}.landing-ai-composer{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid rgba(167,130,100,.15);background:#fdf8f4;flex-shrink:0}.landing-ai-input{flex:1;border:1px solid rgba(167,130,100,.3);border-radius:24px;padding:11px 20px;font-size:14px;outline:none;background:#fff;color:#5a3a30;transition:border-color .2s ease}.landing-ai-input::placeholder{color:#6e453b66}.landing-ai-input:focus{border-color:#6e453b;box-shadow:0 0 0 3px #6e453b14}.landing-ai-send{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(135deg,#6e453b,#5a3a30);color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.landing-ai-send:hover{box-shadow:0 4px 12px #5c3d2e4d;transform:scale(1.05)}.landing-ai-send:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.landing-ai-section{padding:40px 16px}.landing-ai-container{grid-template-columns:1fr;gap:28px}.landing-ai-intro{text-align:center;align-items:center}.landing-ai-intro h2{font-size:30px}.landing-ai-intro p{max-width:100%}.landing-ai-prompts{justify-content:center}.landing-ai-chat-window{min-height:400px;max-height:500px}}.landing-chat-fab{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-chat);display:flex;align-items:center;gap:10px;padding:12px 22px;background:linear-gradient(135deg,#6e453b,#5a3a30);color:#fff;border:2px solid rgba(216,191,164,.4);border-radius:var(--radius-pill);font-weight:700;font-size:var(--text-sm);cursor:pointer;box-shadow:0 6px 24px #5c3d2e59;transition:all .3s ease;animation:float 3s var(--ease-standard) infinite}.landing-chat-fab:hover{box-shadow:0 10px 36px #5c3d2e73;transform:translateY(-3px);animation:none}.landing-chat-fab-icon{width:28px;height:28px;display:grid;place-items:center;background:#ffffff26;border-radius:50%;padding:3px}.landing-chat-panel{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-chat);width:min(420px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 100px));display:flex;flex-direction:column;background:#fdf8f4;border:1px solid rgba(167,130,100,.3);border-radius:20px;box-shadow:0 20px 60px #5c3d2e33;overflow:hidden;animation:slide-up var(--duration-slow) var(--ease-emphasized) both}.landing-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#5a3a30,#6e453b 60%,#e4ccac);color:#fff;flex-shrink:0}.landing-chat-header h3{margin:0;font-size:16px;font-weight:700;letter-spacing:.3px}.landing-chat-header small{display:block;margin-top:3px;font-size:12px;opacity:.8}.landing-chat-close{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .2s ease}.landing-chat-close:hover{background:#ffffff40}.landing-chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fdf8f4,#fff5ee)}.landing-chat-msg{max-width:82%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.6;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both}.landing-chat-msg.assistant{align-self:flex-start;background:#fff;color:#5a3a30;border:1px solid rgba(167,130,100,.15);border-bottom-left-radius:4px;box-shadow:0 1px 4px #5c3d2e0f}.landing-chat-msg.user{align-self:flex-end;background:#6e453b;color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #5c3d2e26}.landing-chat-suggestions{display:flex;flex-direction:column;gap:8px;padding:0 4px}.landing-chat-suggestion-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid rgba(167,130,100,.2);border-radius:12px;animation:fade-in-up var(--duration-base) var(--ease-decelerate) both;transition:border-color .2s ease}.landing-chat-suggestion-card:hover{border-color:#ddc5a5}.landing-chat-suggestion-card img{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid rgba(167,130,100,.15)}.landing-chat-suggestion-info{flex:1;min-width:0}.landing-chat-suggestion-info strong{display:block;font-size:14px;color:#5a3a30;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-chat-suggestion-info span{font-size:12px;color:#6e453b;font-weight:700}.landing-chat-suggestion-btn{padding:6px 14px;border:0;border-radius:8px;background:#6e453b;color:#fff;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s ease}.landing-chat-suggestion-btn:hover{background:#5a3a30;box-shadow:0 2px 8px #5c3d2e33}.landing-chat-quick-prompts{display:flex;flex-wrap:wrap;gap:8px;padding:8px 4px}.landing-chat-quick-btn{padding:6px 14px;border:1px solid rgba(167,130,100,.35);border-radius:20px;background:transparent;color:#6e453b;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.landing-chat-quick-btn:hover{background:#f5ede0;border-color:#6e453b;color:#5a3a30}.landing-chat-composer{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid rgba(167,130,100,.15);background:#fdf8f4}.landing-chat-input{flex:1;border:1px solid rgba(167,130,100,.3);border-radius:var(--radius-pill);padding:10px 18px;font-size:14px;outline:none;background:#fff;color:#5a3a30;transition:border-color .2s ease}.landing-chat-input::placeholder{color:#6e453b66}.landing-chat-input:focus{border-color:#6e453b;box-shadow:0 0 0 3px #6e453b14}.landing-chat-send{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(135deg,#6e453b,#5a3a30);color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.landing-chat-send:hover{box-shadow:0 4px 12px #5c3d2e4d;transform:scale(1.05)}.landing-chat-send:disabled{opacity:.4;cursor:not-allowed}.landing-chat-typing{display:flex;gap:4px;padding:var(--space-3);align-self:flex-start}.landing-chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--color-muted);animation:dot-typing 1s infinite}.landing-chat-typing span:nth-child(2){animation-delay:.2s}.landing-chat-typing span:nth-child(3){animation-delay:.4s}@media(max-width:768px){.landing-chat-fab{bottom:16px;right:16px;padding:10px 16px;font-size:13px;gap:8px}.landing-chat-fab-icon{width:24px;height:24px}.landing-chat-panel{inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border-radius:0;border:none;box-shadow:none;animation:none}.landing-chat-header{padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));border-radius:0}.landing-chat-body{flex:1;padding:16px;min-height:0}.landing-chat-composer{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.landing-chat-input{padding:12px 18px;font-size:16px}.landing-chat-quick-prompts{padding:8px}.landing-chat-quick-btn{padding:8px 16px;font-size:13px}.landing-chat-msg{max-width:88%;padding:12px 16px}.landing-chat-suggestion-card{padding:12px}}.landing-footer{position:relative;overflow:hidden;background:var(--vian-footer-bg);color:#fff}.landing-footer-bg{position:absolute;inset:0;background-image:url(https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=1400&h=600&fit=crop&q=20);background-size:cover;background-position:center;opacity:.06;pointer-events:none}.landing-footer-content{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-7);padding:var(--space-9) clamp(28px,8vw,140px)}.landing-footer h4{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-lg);color:var(--vian-gold)}.landing-footer p,.landing-footer li{color:#ede4d5cc;font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:var(--space-2) 0}.landing-footer ul{list-style:none;padding:0;margin:0}.landing-footer a{color:#ede4d5e6;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.landing-footer a:hover{color:var(--vian-gold)}.landing-footer-map{position:relative;padding:0 clamp(28px,8vw,140px) var(--space-4)}.landing-footer-map iframe{width:100%;height:250px;border:0;border-radius:var(--radius-md);filter:sepia(.2) saturate(.8)}.landing-footer-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) clamp(28px,8vw,140px);border-top:1px solid #7e564d;font-size:var(--text-xs);color:#ede4d580}.landing-footer-social{display:flex;gap:12px;align-items:center}.landing-social-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--vian-footer-bg);text-decoration:none;transition:all .25s ease;box-shadow:0 2px 8px #0000001a}.landing-social-icon:hover{background:var(--vian-gold);color:var(--vian-brown);transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.landing-social-icon svg{width:20px;height:20px}.landing-page :is(a,button):focus-visible{outline:3px solid var(--color-cyan);outline-offset:4px}.landing-page :is(a,button){touch-action:manipulation;-webkit-tap-highlight-color:rgba(8,188,239,.18)}.landing-page [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-decelerate),transform .6s var(--ease-decelerate);transition-delay:calc(var(--reveal-index, 0) * 80ms)}.landing-page [data-reveal].is-visible{opacity:1;transform:none}@media(max-width:1024px){.landing-about{grid-template-columns:1fr}.landing-about-image{aspect-ratio:16/9}.signature-list{grid-template-columns:repeat(2,1fr)}.landing-promos,.landing-steps{grid-template-columns:1fr}.landing-footer-content{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.landing-header-inner{gap:8px;overflow:visible;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.landing-brand{gap:8px;min-width:0}.landing-brand-logo{height:40px;width:40px}.landing-brand-text{min-width:0}.landing-brand-text strong{font-size:.92rem;line-height:1.05;white-space:nowrap}.landing-brand-text small{display:none}.landing-menu-toggle{border-color:#ffffff73;flex:0 0 44px}.landing-header.scrolled .landing-menu-toggle{border-color:var(--brand-clay-line);color:var(--brand-chestnut)}.landing-nav{display:none}.landing-nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));background:var(--color-card);border:1px solid var(--color-border-light);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-4);box-shadow:var(--elevation-3);animation:fade-in-up var(--duration-base) var(--ease-decelerate) both;z-index:100}.landing-nav.open a{align-items:center;color:var(--brand-chestnut);display:flex;min-height:44px;width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.landing-menu-toggle{display:flex}.landing-hero{min-height:100svh;align-items:flex-end}.landing-hero-copy{width:auto;margin:0;padding:100px 22px 60px}.landing-hero h1{font-size:clamp(36px,10vw,50px)}.landing-hero-actions{display:grid}.landing-button{width:100%}.landing-section{padding:var(--space-8) var(--space-5)}.landing-section-heading{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.signature-list{grid-template-columns:1fr}.landing-about-stats{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.landing-footer-content{grid-template-columns:1fr;gap:var(--space-5);padding-inline:var(--space-5)}.landing-footer-map{padding-inline:var(--space-5)}.landing-footer-bottom{flex-direction:column;gap:var(--space-3);text-align:center;padding-inline:var(--space-5)}.landing-chat-panel{bottom:0;right:0;width:100%;max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.landing-chat-fab{bottom:var(--space-4);right:var(--space-4)}.landing-toast{bottom:max(84px,calc(68px + env(safe-area-inset-bottom)))!important;max-width:calc(100vw - 24px);text-align:center;white-space:normal!important}}@media(max-width:380px){.landing-brand-text strong{font-size:.78rem}.landing-header-actions{gap:4px}.landing-language-switcher button{min-width:42px}.landing-section{padding-inline:16px}.landing-about-stats{grid-template-columns:1fr}.landing-footer-content,.landing-footer-map,.landing-footer-bottom{padding-inline:16px}}@media(prefers-reduced-motion:reduce){.landing-page *,.landing-page *:before,.landing-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.landing-page [data-reveal]{opacity:1;transform:none}.landing-hero-slide{transition:opacity .01ms!important}.landing-chat-fab{animation:none}}.typewriter-subtext{display:inline-block;font-weight:700;color:var(--vian-gold);border-bottom:2px dashed rgba(201,169,110,.5);padding-bottom:1px}.typewriter-cursor{font-weight:200;color:var(--vian-gold);animation:typewriter-blink .8s step-end infinite;margin-left:2px}@keyframes typewriter-blink{0%,to{color:transparent}50%{color:var(--vian-gold)}}.landing-hero-promo-ticker{display:inline-flex;align-items:center;height:38px;padding:0 var(--space-4);background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-pill);margin-bottom:var(--space-4);overflow:hidden;box-shadow:0 4px 15px #0000000d}.landing-hero-promo-text{font-size:var(--text-xs);font-weight:700;color:var(--vian-gold);text-transform:uppercase;letter-spacing:.05em;display:inline-block;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.landing-hero-promo-text.slide-in{opacity:1;transform:translateY(0)}.landing-hero-promo-text.slide-out{opacity:0;transform:translateY(-20px)}.landing-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-5);margin-top:var(--space-4)}.landing-gallery-item{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:3/2;box-shadow:0 4px 20px #5c3d2e1a;border:1px solid var(--vian-divider)}.landing-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slower) var(--ease-standard)}.landing-gallery-item:hover img{transform:scale(1.06)}.landing-gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#3a251800 40%,#3a2518bf);display:flex;align-items:flex-end;padding:var(--space-5);opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}.landing-gallery-item:hover .landing-gallery-overlay{opacity:1}.landing-gallery-overlay span{color:#fff;font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.3)}.landing-media-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--vian-sand);border-radius:var(--radius-xl);border:1px dashed var(--vian-divider);overflow:hidden;box-shadow:0 4px 20px #5c3d2e14;margin-top:var(--space-4)}.landing-media-content{padding:var(--space-8);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--space-4)}.landing-media-content h2{font-size:clamp(24px,2.5vw,36px);line-height:1.2;margin:0}.landing-media-content p{color:var(--vian-brown-light);font-style:italic;font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.landing-media-video-placeholder{position:relative;aspect-ratio:16/10;overflow:hidden}.landing-media-video-placeholder img{width:100%;height:100%;object-fit:cover}.play-button-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;background:var(--vian-gold);color:var(--vian-brown-dark);border-radius:50%;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 20px #c9a96e66;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);z-index:2}.landing-media-video-placeholder:hover .play-button-icon{transform:translate(-50%,-50%) scale(1.1);background:#fff;color:var(--vian-brown)}@media(max-width:800px){.landing-media-banner{grid-template-columns:1fr}.landing-media-content{padding:var(--space-6)}.landing-hero-copy{width:90%;margin-right:var(--space-5);text-align:center}.hero-script-text{font-size:clamp(48px,12vw,80px)}.hero-sub-heading{font-size:clamp(16px,4vw,24px)}.landing-hero-dots{bottom:30px}}.landing-testimonials-vian{position:relative;overflow:hidden;padding:clamp(60px,8vw,120px) clamp(28px,8vw,140px);text-align:center;background:var(--vian-beige)}.landing-testimonials-vian-bg{position:absolute;inset:0;background-image:url(https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=1400&h=600&fit=crop&q=20);background-size:cover;background-position:center;opacity:.08;pointer-events:none}.landing-testimonials-vian-heading{position:relative;font-family:var(--font-display);font-size:clamp(28px,3.5vw,44px);font-weight:700;color:var(--vian-brown);text-transform:uppercase;letter-spacing:1.2px;margin:0 0 clamp(40px,5vw,70px)}.landing-testimonials-vian-content{position:relative;display:flex;flex-direction:column;align-items:center;max-width:700px;margin:0 auto}.landing-testimonials-vian-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.6);box-shadow:0 4px 15px #6e453b26;margin-bottom:var(--space-5)}.landing-testimonials-vian-quote{font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:var(--leading-relaxed);color:var(--vian-brown-dark);font-style:normal;margin:20px 0 25px;padding:0;border:none}.landing-testimonials-vian-cite{font-family:var(--font-display);font-style:normal;font-weight:600;font-size:20px;color:var(--vian-brown);text-transform:uppercase;letter-spacing:1.2px}.landing-section-heading--centered{text-align:center;display:block}.landing-section-heading--centered h2{margin:0 auto}.landing-promo-vian-section{position:relative;padding:clamp(48px,6vw,80px) clamp(28px,8vw,100px);overflow:hidden}.landing-promo-vian-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#5a3a30d9,#3d2b1fe0),url(/album-images/06-phong-vip.png) center / cover no-repeat;z-index:0}.landing-promo-vian-section>*{position:relative;z-index:1}.landing-promo-vian-section .landing-vian-section-title{background:transparent;border-bottom:none}.landing-promo-vian-section .landing-vian-section-title h2{color:#e8c870;text-shadow:0 2px 16px rgba(0,0,0,.5),0 0 40px rgba(196,163,90,.3)}.landing-promo-vian-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);max-width:1200px;margin:0 auto}.landing-promo-vian-item{background:#ffffff0f;border:1px solid rgba(196,163,90,.25);border-radius:16px;padding:0 0 clamp(16px,2vw,24px);overflow:hidden;text-align:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-promo-vian-item:hover{transform:translateY(-6px);box-shadow:0 16px 48px #0000004d;border-color:var(--vian-gold, #C4A35A)}.landing-promo-vian-frame{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden}.landing-promo-vian-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.landing-promo-vian-item:hover .landing-promo-vian-frame img{transform:scale(1.08)}.landing-promo-vian-badge{position:absolute;top:12px;right:12px;padding:6px 14px;border-radius:20px;background:linear-gradient(135deg,#c4a35a,#e8c870);color:var(--vian-brown-dark, #3d2b1f);font-family:var(--font-display, "Playfair Display", serif);font-size:14px;font-weight:800;letter-spacing:1px;box-shadow:0 4px 12px #c4a35a66}.landing-promo-vian-item h3{font-family:var(--font-display, "Playfair Display", serif);font-size:clamp(16px,1.6vw,20px);font-weight:700;color:#fff;margin:clamp(12px,1.5vw,18px) clamp(12px,2vw,20px) 6px;letter-spacing:.5px}.landing-promo-vian-item p{font-family:var(--font-body, "Be Vietnam Pro", sans-serif);font-size:clamp(12px,1.1vw,14px);color:#ede4d5bf;line-height:1.6;margin:0 clamp(12px,2vw,20px)}@media(max-width:900px){.landing-promo-vian-grid{grid-template-columns:1fr;max-width:420px}}.album-hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px;overflow:hidden}.album-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,#5a3a3080,#5a3a30d1),url(/album-images/02-khong-gian-tang-1.png) center / cover no-repeat;filter:grayscale(.25) contrast(.92)}.album-hero-content{position:relative;text-align:center;padding:80px 24px 56px;max-width:700px}.album-breadcrumb{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;padding:7px 20px;border-radius:20px;background:#ffffff1f;color:#ede4d5e6;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.album-breadcrumb:hover{background:#ffffff38;color:#fff}.album-hero-content h1{font-family:var(--font-display-vian, "Playfair Display", serif);font-size:clamp(34px,5vw,60px);font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:5px;margin:0 0 16px;text-shadow:0 4px 24px rgba(0,0,0,.35)}.album-hero-content p{font-family:var(--font-body-vian, "Be Vietnam Pro", sans-serif);font-size:clamp(14px,1.4vw,17px);color:#ede4d5d9;line-height:1.7;margin:0}.album-hero:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:6px;background:linear-gradient(90deg,transparent,var(--vian-gold, #C4A35A),transparent);opacity:.6}.album-container{max-width:1200px;margin:0 auto;padding:clamp(48px,6vw,80px) clamp(16px,4vw,40px)}.album-section-title{text-align:center;margin-bottom:clamp(28px,4vw,44px)}.album-section-title h2{font-family:var(--font-display-vian, "Playfair Display", serif);font-size:clamp(22px,3vw,34px);font-weight:700;color:var(--vian-brown, #5a3a30);text-transform:uppercase;letter-spacing:2.5px;margin:0 0 12px}.album-section-title p{font-family:var(--font-body-vian, "Be Vietnam Pro", sans-serif);font-size:clamp(13px,1.2vw,15px);color:var(--vian-brown-dark, #3d2b1f);opacity:.65;margin:0}.album-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:clamp(28px,4vw,40px)}.album-filter-btn{padding:8px 20px;border:1.5px solid var(--vian-brown, #5a3a30);border-radius:24px;background:transparent;color:var(--vian-brown, #5a3a30);font-family:var(--font-body-vian, "Be Vietnam Pro", sans-serif);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;letter-spacing:.3px}.album-filter-btn:hover{background:#5a3a3014}.album-filter-btn.active{background:var(--vian-brown, #5a3a30);color:#fff;border-color:var(--vian-brown, #5a3a30);box-shadow:0 4px 16px #5a3a3040}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.album-card{position:relative;margin:0;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 2px 12px #5a3a3014;transition:transform .35s ease,box-shadow .35s ease;background:#f9f4ed}.album-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px #5a3a302e}.album-card:focus-visible{outline:3px solid var(--vian-gold, #C4A35A);outline-offset:2px}.album-card-img{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden}.album-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.album-card:hover .album-card-img img{transform:scale(1.06)}.album-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#5a3a3059;opacity:0;transition:opacity .3s ease;color:#fff}.album-card:hover .album-card-overlay{opacity:1}.album-card figcaption{padding:12px 16px;font-family:var(--font-body-vian, "Be Vietnam Pro", sans-serif);font-size:13px;font-weight:600;color:var(--vian-brown, #5a3a30);text-align:center;letter-spacing:.3px}.album-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#000000f2;animation:albumLightboxIn .3s ease}@keyframes albumLightboxIn{0%{opacity:0}to{opacity:1}}.album-lightbox-close{position:absolute;top:20px;right:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:22px;cursor:pointer;transition:background .2s;z-index:2}.album-lightbox-close:hover{background:#ffffff40}.album-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:32px;cursor:pointer;transition:background .2s;z-index:2}.album-lightbox-nav:hover{background:#ffffff38}.album-lightbox-nav.prev{left:24px}.album-lightbox-nav.next{right:24px}.album-lightbox-content{max-width:min(90vw,1100px);max-height:85vh;display:flex;flex-direction:column;align-items:center}.album-lightbox-content img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px #00000080;animation:albumImgIn .35s cubic-bezier(.16,1,.3,1)}@keyframes albumImgIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.album-lightbox-caption{margin:16px 0 0;font-family:var(--font-body-vian, "Be Vietnam Pro", sans-serif);font-size:15px;font-weight:600;color:#ffffffe6;text-align:center}.album-lightbox-caption span{font-weight:400;color:#ffffff80;font-size:13px;margin-left:8px}@media(max-width:900px){.album-grid{grid-template-columns:repeat(2,1fr);gap:12px}.album-hero{min-height:300px}}@media(max-width:560px){.album-grid{grid-template-columns:1fr;gap:12px}.album-hero{min-height:240px}.album-hero-content h1{letter-spacing:2px}.album-lightbox-nav{width:40px;height:40px;font-size:24px}.album-lightbox-nav.prev{left:8px}.album-lightbox-nav.next{right:8px}.album-filters{gap:6px}.album-filter-btn{min-height:44px;padding:8px 14px;font-size:12px}.album-container{padding-inline:14px}.album-lightbox-close{height:44px;width:44px}}.cmc-customer-page{--vian-green: var(--brand-chestnut-dark);--vian-green-light: var(--brand-chestnut);--vian-green-soft: #8a5848;--vian-gold: var(--brand-brass);--vian-gold-light: #d2ad70;--vian-cream: var(--brand-ivory);--vian-warm-white: var(--brand-paper);--vian-brown: var(--brand-ink);--vian-brown-light: var(--brand-chestnut-dark);--vian-muted: var(--brand-muted);--vian-red: var(--brand-danger);--vian-border: var(--brand-clay-line);--vian-gradient-hero: linear-gradient(135deg, #5a3a30 0%, #6e453b 40%, #7a4f42 70%, #a07060 100%);--vian-gradient-warm: linear-gradient(180deg, #FDF8F0 0%, #FFFBF5 50%, #FFF9F0 100%);--vian-gradient-card: linear-gradient(180deg, rgba(90, 58, 48, .03) 0%, rgba(196, 163, 90, .02) 100%);--font-display-vian: var(--brand-font-display);--font-script: "Dancing Script", cursive;--font-body-vian: var(--brand-font-body);display:grid;gap:24px;overflow-x:hidden;background:var(--vian-gradient-warm);color:var(--vian-brown);min-height:100vh}.cmc-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);min-height:480px;overflow:hidden;border-radius:0;background:var(--vian-gradient-hero);color:#fff}.cmc-menu-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,80px)}.cmc-menu-hero-copy .cmc-kicker{font-family:var(--font-script);font-size:clamp(20px,3vw,28px);font-weight:600;color:var(--vian-gold-light);margin:0 0 12px;letter-spacing:.02em}.cmc-menu-hero-copy h2{margin:0;font-family:var(--font-display-vian);font-size:clamp(36px,5vw,52px);font-weight:700;line-height:1.15;color:#fff}.cmc-menu-hero-copy h2 span{color:var(--vian-gold-light);font-style:italic}.cmc-menu-hero-copy p{max-width:520px;margin:20px 0 0;font-size:16px;line-height:1.65;color:#ffffffe6}.cmc-hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;align-items:center}.cmc-primary-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;border-radius:12px;padding:0 28px;background:var(--vian-gold);color:var(--vian-brown);font-family:var(--font-body-vian);font-size:15px;font-weight:700;text-decoration:none;transition:all .25s ease;box-shadow:0 8px 24px #c4a35a59}.cmc-primary-link:hover{background:var(--vian-gold-light);transform:translateY(-2px);box-shadow:0 12px 32px #c4a35a73}.cmc-table-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:14px;font-weight:700;border:1px solid rgba(255,255,255,.25)}.cmc-hero-collage{position:relative;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:12px;padding:20px;overflow:hidden}.cmc-hero-collage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(90,58,48,.5) 0%,transparent 30%);z-index:1}.cmc-hero-collage img{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:0 12px 32px #00000040;transition:transform .3s ease}.cmc-hero-collage img:first-child{grid-column:span 2;height:180px}.cmc-hero-collage img:hover{transform:scale(1.02)}.cmc-menu-toolbar{display:grid;gap:16px;padding:0 clamp(16px,4vw,40px)}.cmc-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-radius:16px;padding:12px 20px;background:#fff;box-shadow:0 4px 16px #2d501614;border:1px solid var(--vian-border)}.cmc-search-input{border:none;background:transparent;color:var(--vian-brown);font-family:var(--font-body-vian);font-size:15px;outline:none;min-width:0;width:100%}.cmc-search-input::placeholder{color:var(--vian-muted)}.cmc-result-count{font-size:13px;font-weight:700;color:var(--vian-green);white-space:nowrap}.cmc-inline-error{padding:12px 20px;border-radius:12px;background:#c445361a;color:var(--vian-red);font-size:14px;font-weight:500;border-left:4px solid var(--vian-red)}.cmc-menu-layout{display:grid;grid-template-columns:1fr;gap:32px;padding:0 clamp(16px,4vw,40px);align-items:start}.cmc-menu-sections{display:grid;gap:32px;min-width:0}.cmc-menu-master-title{display:flex;justify-content:space-between;align-items:flex-end;padding:24px 28px;background:#fff;border-radius:20px;box-shadow:0 8px 32px #2d501614;border:1px solid var(--vian-border)}.ordering-cart-dock{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(24px,4vw,42px);z-index:80;display:grid;grid-template-columns:auto auto;align-items:center;min-width:min(360px,calc(100vw - 32px));padding:14px 16px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#643e31;box-shadow:0 18px 44px #44271c47;color:#fffaf3;text-decoration:none}.ordering-cart-dock-count{display:flex;flex-direction:column;line-height:1.15}.ordering-cart-dock-count small{margin-top:3px;color:#fffaf3b3}.ordering-cart-dock-total{justify-self:end;font-size:1.08rem}.ordering-cart-dock-action{grid-column:1 / -1;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);color:#f0cc7d;font-weight:700;text-align:right}@media(max-width:720px){.ordering-cart-dock{right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));left:12px;min-width:0;border-radius:16px}}.cmc-menu-master-title p{margin:0 0 8px;font-family:var(--font-script);font-size:16px;font-weight:500;color:var(--vian-green);text-transform:none;letter-spacing:.02em}.cmc-menu-master-title h3{margin:0;font-family:var(--font-display-vian);font-size:clamp(24px,3vw,32px);font-weight:700;color:var(--vian-brown)}.cmc-menu-master-title>span{border-radius:999px;padding:8px 16px;background:var(--vian-cream);color:var(--vian-green);font-size:13px;font-weight:700}.cmc-menu-category-section{display:grid;gap:20px;padding:clamp(20px,3vw,32px);background:#fff;border-radius:24px;box-shadow:0 12px 40px #2d50160f;border:1px solid var(--vian-border)}.cmc-menu-category-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:2px solid var(--vian-border)}.cmc-menu-category-heading p{margin:0 0 8px;font-family:var(--font-script);font-size:15px;font-weight:500;color:var(--vian-gold);text-transform:none;letter-spacing:.02em}.cmc-menu-category-heading h4{margin:0;font-family:var(--font-display-vian);font-size:clamp(24px,3vw,32px);font-weight:700;color:var(--vian-brown);line-height:1.2}.cmc-menu-category-heading>span{border-radius:999px;padding:8px 14px;background:var(--vian-cream);color:var(--vian-green);font-size:13px;font-weight:700}.cmc-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}@media(max-width:640px){.cmc-menu-grid{grid-template-columns:1fr}}.cmc-menu-card{display:grid;grid-template-rows:auto 1fr auto;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--vian-border);transition:all .3s ease;box-shadow:0 4px 16px #2d50160a}.cmc-menu-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #2d50161f;border-color:var(--vian-gold)}.cmc-menu-card.disabled{opacity:.65;filter:grayscale(.4)}.cmc-card-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}.cmc-card-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.cmc-menu-card:hover .cmc-card-image{transform:scale(1.08)}.cmc-availability{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.cmc-availability.ready{background:var(--vian-green);color:#fff}.cmc-availability.muted{background:#8b7355e6;color:#fff}.cmc-card-content{display:flex;flex-direction:column;gap:12px;padding:20px;flex:1}.cmc-card-category{font-family:var(--font-script);font-size:13px;font-weight:500;color:var(--vian-gold);margin:0;text-transform:none;letter-spacing:.02em}.cmc-card-content h3{margin:0;font-family:var(--font-display-vian);font-size:18px;font-weight:700;color:var(--vian-brown);line-height:1.3}.cmc-card-content>p{margin:0;font-size:13px;line-height:1.55;color:var(--vian-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cmc-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.cmc-tag-row span{padding:4px 10px;border-radius:999px;background:var(--vian-cream);color:var(--vian-brown-light);font-size:11px;font-weight:600;border:1px solid var(--vian-border)}.cmc-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:59px;padding-top:14px;border-top:1px solid var(--vian-border);margin-top:auto}.cmc-card-price{display:inline-flex;flex:1 1 auto;align-items:baseline;min-width:0;color:var(--vian-green);font-family:var(--font-body-vian);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.035em;line-height:1;white-space:nowrap}.cmc-card-price-value{display:inline-block}.cmc-card-price-unit{margin-left:3px;color:var(--vian-green);font-size:.58em;font-weight:700;letter-spacing:.02em;line-height:1;transform:translateY(-.24em)}.cmc-add-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-width:108px;height:44px;border:none;border-radius:12px;padding:0 20px;background:var(--vian-green);color:#fff;font-family:var(--font-body-vian);font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #2d501640}.cmc-add-button-icon{display:grid;width:18px;height:18px;place-items:center;font-size:20px;font-weight:500;line-height:1}.cmc-add-button:hover:not(:disabled){background:var(--vian-green-light);transform:translateY(-2px);box-shadow:0 8px 20px #2d501659}.cmc-add-button:disabled{background:var(--vian-muted);cursor:not-allowed;box-shadow:none}.cmc-stepper{display:inline-flex;flex:0 0 auto;align-items:center;gap:0;border-radius:12px;overflow:hidden;background:var(--vian-cream);border:2px solid var(--vian-gold)}.cmc-stepper button{display:grid;place-items:center;width:44px;height:44px;border:none;background:transparent;color:var(--vian-green);font-size:20px;font-weight:700;cursor:pointer;transition:all .2s ease}.cmc-stepper button:hover{background:var(--vian-gold);color:var(--vian-brown)}.cmc-stepper span{min-width:40px;text-align:center;font-size:16px;font-weight:700;color:var(--vian-brown)}.cmc-category-tab{flex:0 0 auto;padding:10px 20px;border-radius:999px;border:1px solid var(--vian-border);background:#fff;color:var(--vian-muted);font-family:var(--font-body-vian);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.cmc-category-tab:hover{border-color:var(--vian-gold);color:var(--vian-brown)}.cmc-category-tab.active{background:var(--vian-green);color:#fff;border-color:var(--vian-green);box-shadow:0 4px 12px #5a3a3040}.cmc-cart-sidebar{position:sticky;top:80px;display:grid;gap:20px;padding:28px;background:#fff;border-radius:24px;box-shadow:0 12px 40px #5a3a300f;border:1px solid var(--vian-border);max-height:calc(100vh - 120px);overflow-y:auto}.cmc-cart-sidebar h3{margin:0;font-family:var(--font-display-vian);font-size:24px;font-weight:700;color:var(--vian-brown)}.cmc-cart-sidebar>p{margin:0;font-size:14px;color:var(--vian-muted);line-height:1.5}.cmc-cart-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border:none;border-radius:16px;padding:0 24px;background:var(--vian-gold);color:var(--vian-brown);font-family:var(--font-body-vian);font-size:16px;font-weight:700;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 24px #c4a35a4d}.cmc-cart-submit:hover{background:var(--vian-gold-light);transform:translateY(-2px);box-shadow:0 12px 32px #c4a35a73}.cmc-cart-item{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--vian-border)}.cmc-cart-item img{width:48px;height:48px;border-radius:12px;object-fit:cover}.cmc-cart-item-info strong{display:block;font-size:14px;font-weight:600;color:var(--vian-brown)}.cmc-cart-item-info span{font-size:12px;color:var(--vian-muted)}.cmc-table-context{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;background:var(--vian-cream);border:1px solid var(--vian-border);font-size:14px;font-weight:600;color:var(--vian-brown)}.anim-scale-in{animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:1024px){.cmc-hero{grid-template-columns:1fr;min-height:auto}.cmc-hero-collage{display:none}.cmc-cart-sidebar{position:static;max-height:none}}@media(max-width:640px){.cmc-customer-page{gap:16px}.cmc-menu-hero-copy{padding:28px 18px 32px}.cmc-menu-hero-copy h2{font-size:28px}.cmc-menu-toolbar,.cmc-menu-layout{padding-inline:12px}.cmc-search-row{padding:10px 12px}.cmc-menu-master-title{align-items:flex-start;padding:18px 16px}.cmc-menu-category-section{border-radius:18px;padding:16px}.cmc-card-content{padding:16px}.cmc-cart-bar-icon{display:none}.cmc-cart-bar{gap:10px}.cmc-cart-bar-btn{min-height:44px}}@media(max-width:360px){.cmc-card-footer{align-items:flex-start;flex-direction:column}.cmc-add-button,.cmc-stepper{width:100%}.cmc-stepper{justify-content:space-between}.cmc-cart-bar-text span{display:none}}.vian-why-section{padding:0 clamp(16px,4vw,40px)}.vian-why-header{text-align:center;margin-bottom:40px}.vian-script-label{font-family:var(--font-script);font-size:18px;font-weight:500;color:var(--vian-gold);margin:0 0 8px}.vian-why-header h2{margin:0 0 12px;font-family:var(--font-display-vian);font-size:clamp(28px,3.5vw,38px);font-weight:700;color:var(--vian-brown)}.vian-why-header>p:last-child{margin:0;font-size:15px;color:var(--vian-muted);line-height:1.5}.vian-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.vian-why-card{display:flex;flex-direction:column;gap:16px;padding:32px 28px;background:#fff;border-radius:20px;border:1px solid var(--vian-border);box-shadow:0 8px 24px #5a3a300a;transition:all .3s ease}.vian-why-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #5a3a301a;border-color:var(--vian-gold)}.vian-why-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--vian-cream);color:var(--vian-green);border:1px solid var(--vian-border)}.vian-why-card h4{margin:0;font-family:var(--font-display-vian);font-size:18px;font-weight:700;color:var(--vian-brown)}.vian-why-card p{margin:0;font-size:14px;line-height:1.55;color:var(--vian-muted)}.vian-testimonials{padding:0 clamp(16px,4vw,40px)}.vian-testimonials-header{text-align:center;margin-bottom:40px}.vian-testimonials-title{margin:0 0 12px;font-family:var(--font-display-vian);font-size:clamp(28px,3.5vw,38px);font-weight:700;color:var(--vian-brown)}.vian-testimonials-subtitle{margin:0;font-size:15px;color:var(--vian-muted);line-height:1.5}.vian-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.vian-testimonial-card{display:flex;flex-direction:column;gap:16px;padding:28px;background:#fff;border-radius:20px;border:1px solid var(--vian-border);box-shadow:0 8px 24px #5a3a300a;position:relative;overflow:hidden;transition:all .3s ease}.vian-testimonial-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #5a3a301a;border-color:var(--vian-gold)}.vian-testimonial-header{display:flex;align-items:center;gap:14px}.vian-testimonial-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--vian-cream);box-shadow:0 4px 12px #5a3a301a}.vian-testimonial-info{display:flex;flex-direction:column;gap:2px}.vian-testimonial-name{margin:0;font-family:var(--font-display-vian);font-size:16px;font-weight:700;color:var(--vian-brown)}.vian-testimonial-role{margin:0;font-size:13px;color:var(--vian-muted);font-weight:500}.vian-stars{display:flex;gap:4px}.vian-stars .star{color:var(--vian-border)}.vian-stars .star.filled{color:var(--vian-gold)}.vian-testimonial-text{margin:0;font-size:15px;line-height:1.65;color:var(--vian-brown-light);font-style:italic}.vian-testimonial-decor{position:absolute;top:20px;right:20px;color:var(--vian-cream);opacity:.6}.cmc-customer-page.has-cart-bar{padding-bottom:max(104px,calc(88px + env(safe-area-inset-bottom,0px)))}.cmc-cart-bar{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(92vw,680px);max-width:calc(100vw - 24px);padding:14px 20px 14px 16px;border-radius:22px;background:var(--vian-green);color:#fff;box-shadow:0 16px 48px #5a3a3059,0 0 0 1px #ffffff1a inset;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:cartSlideUp .35s cubic-bezier(.16,1,.3,1)}@keyframes cartSlideUp{0%{transform:translate(-50%) translateY(120%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.cmc-cart-bar-info{display:flex;align-items:center;gap:14px;min-width:0}.cmc-cart-bar-icon{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#ffffff26;color:#fff}.cmc-cart-bar-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 6px;border-radius:10px;background:var(--vian-gold);color:var(--vian-brown);font-size:11px;font-weight:800;line-height:1}.cmc-cart-bar-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cmc-cart-bar-text span{font-size:12px;font-weight:500;color:#ffffffbf;white-space:nowrap}.cmc-cart-bar-text strong{font-family:var(--font-display-vian);font-size:20px;font-weight:700;color:#fff;letter-spacing:-.02em}.cmc-cart-bar-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:14px;background:var(--vian-gold);color:var(--vian-brown);font-family:var(--font-body-vian);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #c4a35a59;white-space:nowrap}.cmc-cart-bar-btn:hover{background:var(--vian-gold-light);transform:translateY(-1px);box-shadow:0 6px 20px #c4a35a80}.cmc-cart-bar-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:480px){.cmc-cart-bar{width:calc(100vw - 24px);padding:12px 14px;border-radius:18px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.cmc-cart-bar-text strong{font-size:17px}.cmc-cart-bar-btn{padding:10px 16px;font-size:13px}.cmc-customer-page.has-cart-bar{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}.cmc-menu-category-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.cmc-menu-category-tabs::-webkit-scrollbar{display:none}.cmc-menu-category-tabs button{flex:0 0 auto;padding:10px 20px;border-radius:999px;border:1px solid var(--vian-border);background:#fff;color:var(--vian-muted);font-family:var(--font-body-vian);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap;min-height:44px}.cmc-menu-category-tabs button:hover{border-color:var(--vian-gold);color:var(--vian-brown)}.cmc-menu-category-tabs button.active{background:var(--vian-green);color:#fff;border-color:var(--vian-green);box-shadow:0 4px 12px #5a3a3040}@media(max-width:768px){.vian-why-grid{grid-template-columns:repeat(2,1fr)}.vian-testimonials-grid{grid-template-columns:1fr}}@media(max-width:480px){.vian-why-grid{grid-template-columns:1fr}}.vian-cta-section{margin:0 clamp(16px,4vw,40px);padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px);border-radius:28px;background:var(--vian-gradient-hero);color:#fff;text-align:center;position:relative;overflow:hidden}.vian-cta-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(196,163,90,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none}.vian-cta-content{position:relative;z-index:1;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px}.vian-cta-content h2{margin:0;font-family:var(--font-display-vian);font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.2;color:#fff}.vian-cta-content p{margin:0;font-size:16px;line-height:1.65;color:#ffffffd9;max-width:480px}.vian-cta-button{display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:14px 32px;border-radius:14px;background:var(--vian-gold);color:var(--vian-brown);font-family:var(--font-body-vian);font-size:16px;font-weight:700;text-decoration:none;transition:all .25s ease;box-shadow:0 8px 28px #c4a35a66}.vian-cta-button:hover{background:var(--vian-gold-light);transform:translateY(-2px);box-shadow:0 12px 36px #c4a35a8c}.cmc-category-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.cmc-category-tabs::-webkit-scrollbar{display:none}.cmc-chip{flex:0 0 auto;padding:10px 20px;border-radius:999px;border:1px solid var(--vian-border);background:#fff;color:var(--vian-muted);font-family:var(--font-body-vian);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.cmc-chip:hover{border-color:var(--vian-gold);color:var(--vian-brown);background:var(--vian-cream)}.cmc-chip.active{background:var(--vian-green);color:#fff;border-color:var(--vian-green);box-shadow:0 4px 12px #5a3a3040}.cmc-table-badge.muted{display:block;padding:12px 20px;border-radius:12px;background:var(--vian-cream);color:var(--vian-muted);font-family:var(--font-body-vian);font-size:13px;font-weight:500;border:1px solid var(--vian-border)}.cmc-cart-panel.side{position:sticky;top:80px;display:grid;gap:16px;padding:28px;background:#fff;border-radius:24px;box-shadow:0 12px 40px #5a3a300f;border:1px solid var(--vian-border);max-height:calc(100vh - 120px);overflow-y:auto;align-content:start}.cmc-cart-panel.side h3{margin:0;font-family:var(--font-display-vian);font-size:22px;font-weight:700;color:var(--vian-brown)}.cmc-cart-panel.side>p{margin:0;font-size:14px;color:var(--vian-muted);line-height:1.5}.cmc-cart-list{display:grid;gap:0}.cmc-cart-list>p{margin:0;font-size:14px;color:var(--vian-muted);text-align:center;padding:12px 0}.cmc-cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--vian-border)}.cmc-cart-row:last-child{border-bottom:none}.cmc-cart-row div{display:flex;align-items:center;gap:8px;min-width:0}.cmc-cart-row div strong{font-family:var(--font-body-vian);font-size:14px;font-weight:600;color:var(--vian-brown);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmc-cart-row div span{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--vian-muted);padding:2px 8px;border-radius:6px;background:var(--vian-cream)}.cmc-cart-row>strong{flex:0 0 auto;font-family:var(--font-display-vian);font-size:14px;font-weight:700;color:var(--vian-green)}.cmc-cart-total{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:16px;background:var(--vian-green);color:#fff;font-family:var(--font-display-vian);font-size:18px;font-weight:700}.cmc-cart-total span{font-size:15px;font-weight:600;color:#ffffffd9}.cmc-secondary-link{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border:none;border-radius:16px;padding:0 24px;background:var(--vian-gold);color:var(--vian-brown);font-family:var(--font-body-vian);font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 24px #c4a35a4d}.cmc-secondary-link:hover{background:var(--vian-gold-light);transform:translateY(-2px);box-shadow:0 12px 32px #c4a35a73}.cmc-empty-state{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;padding:48px 24px;border-radius:20px;background:var(--vian-cream);color:var(--vian-muted);font-size:15px;font-weight:500;text-align:center;border:1px dashed var(--vian-border)}.cmc-menu-master-title p,.cmc-menu-category-heading p{margin:0 0 8px;font-family:var(--font-script);font-size:15px;font-weight:500;color:var(--vian-gold);text-transform:none;letter-spacing:.02em}
