.app{display:flex;flex-direction:column;height:100%;width:100%;background:var(--ng-canvas);position:relative;overflow:hidden}.app.app-expanded{height:100%;min-height:100%}.app.app-collapsed{width:100%;max-width:100%;margin:0;box-sizing:border-box}.app.app-standalone.app-collapsed{height:100dvh;min-height:100dvh;max-height:100dvh;border-radius:0;border:none;box-shadow:none}.app.app-embedded.app-collapsed{height:100%;min-height:100%;max-height:100%;border-radius:0;border:none;box-shadow:none}.app.app-expanded .thread{padding:var(--sp-6) var(--sp-8)}.app.app-expanded .primary-action-grid,.app.app-expanded .suggested-action-grid{grid-template-columns:1fr 1fr;gap:14px}.app.app-expanded .welcome-screen{max-width:720px;margin:0 auto;width:100%;padding:var(--sp-6) var(--sp-8) var(--sp-4)}.app.app-expanded .msg-row{max-width:100%;width:100%}.app.app-expanded .bubble-wrap{max-width:55%}.app.app-expanded .status-alert{max-width:100%;width:100%}.app.app-expanded .composer{padding:var(--sp-3) var(--sp-8) var(--sp-5)}.app.app-standalone.app-expanded{height:100dvh;min-height:100dvh;max-width:none;border-radius:0;border:none;box-shadow:none}.app.app-embedded.app-expanded{height:100%;min-height:100%;max-height:100%}.app.app-closed{height:100%;width:100%;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;padding:16px}.standalone-reopen-pill{width:56px;height:56px;border-radius:999px;border:1.5px solid var(--ng-gold-500);background:var(--ng-forest-900);box-shadow:0 10px 24px -6px #0e241966;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.standalone-reopen-pill:hover{background:var(--ng-forest-800);box-shadow:0 14px 30px -6px #0e241980}.standalone-reopen-pill-logo{width:40px;height:40px;border-radius:50%;object-fit:cover}.header{flex-shrink:0;display:flex;flex-direction:column;background:var(--ng-forest-900);border-bottom:1px solid rgba(201,169,97,.12);position:relative;z-index:10}.header-main-row{display:flex;align-items:center;gap:var(--sp-3);padding:14px var(--sp-4)}.header-brand-mark{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--ng-forest-900);border:1.5px solid var(--ng-gold-500);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 1px #c9a96126}.header-brand-mark:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid rgba(201,169,97,.18)}.header-brand-logo{width:100%;height:100%;border-radius:50%;object-fit:cover}.header-info{flex:1;min-width:0}.header-title{font-family:var(--font-serif);font-size:19px;font-weight:600;color:var(--ng-cream-100);line-height:1.2;letter-spacing:.02em;font-feature-settings:"kern" 1,"liga" 1}.header-sub{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.03em;color:#fbf7e9b8;margin-top:3px}.header-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ng-primary-300);box-shadow:0 0 10px #a5b4fcd9;animation:pulse-dot 2.5s ease-in-out infinite;flex-shrink:0}.header-reset{font-family:var(--font-body);font-size:11px;font-weight:500;color:#fbf7e9d9;background:#c9a9611a;border:1px solid rgba(201,169,97,.3);border-radius:var(--r-full);padding:5px 12px;transition:all var(--t-fast);cursor:pointer;letter-spacing:.01em}.header-reset:hover{background:#c9a96133;border-color:#c9a96180;color:var(--ng-cream-100)}.header-icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fbf7e90f;border:1px solid rgba(251,247,233,.14);color:#fbf7e9d9;transition:all var(--t-fast);cursor:pointer;flex-shrink:0}.header-icon-btn:hover{background:#fbf7e91f;border-color:#fbf7e942;color:var(--ng-cream-100)}.header-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fbf7e90f;border:1px solid rgba(251,247,233,.14);color:#fbf7e9d9;transition:all var(--t-fast);cursor:pointer;flex-shrink:0}.hours-strip{flex-shrink:0;display:flex;align-items:center;gap:var(--sp-2);padding:11px var(--sp-4);background:var(--ng-canvas);border-bottom:1px solid var(--ng-line);font-family:var(--font-body);font-size:12px;color:var(--ng-ink-700);flex-wrap:wrap}.hours-strip-icon{display:inline-flex;align-items:center;color:var(--ng-gold-500);flex-shrink:0}.hours-strip-text{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.hours-strip-label{font-weight:600;color:var(--ng-ink-900)}.hours-strip-sep{color:var(--ng-gold-500);opacity:.6}.hours-strip-link{display:inline-flex;align-items:center;gap:3px;background:none;border:none;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--ng-gold-600);cursor:pointer;padding:2px 4px;margin-left:auto;transition:color var(--t-fast)}.hours-strip-link:hover{color:var(--ng-forest-900)}.main{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative;background:var(--ng-canvas)}.thread{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);scroll-behavior:smooth;position:relative;z-index:1}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:24px var(--sp-4) 12px;animation:fadeIn .5s ease-out}.welcome-hero{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.welcome-hero-greeting{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--ng-gold-600);letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px}.welcome-hero-title{font-family:var(--font-serif);font-size:clamp(1.85rem,4.5vw + 1rem,2.5rem);font-weight:700;color:var(--ng-forest-900);line-height:1.08;letter-spacing:-.024em;margin:0;font-feature-settings:"kern" 1,"liga" 1;text-shadow:0 1px 0 rgba(255,255,255,.55)}.welcome-hero-title-mark{background:linear-gradient(transparent 52%,rgba(201,169,97,.42) 52%,rgba(201,169,97,.42) 90%,transparent 90%);padding:.1em .1em .06em;margin:-.06em -.06em 0;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.welcome-hero-title-lead{color:var(--ng-forest-900);font-weight:700}.welcome-hero-name{color:var(--ng-gold-500);font-weight:700;font-size:1.08em;letter-spacing:-.02em;text-shadow:0 0 28px rgba(201,169,97,.45),0 1px 0 rgba(255,255,255,.35)}.welcome-hero-desc{font-family:var(--font-body);font-size:15px;font-weight:400;color:var(--ng-ink-600);line-height:1.72;max-width:26rem;margin:0;letter-spacing:.01em}.section-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--ng-ink-700);letter-spacing:.1em;text-transform:uppercase}.section-eyebrow-spark{color:var(--ng-gold-500);display:inline-flex;align-items:center}.primary-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.primary-action-card{background:var(--ng-forest-900);border:1px solid rgba(201,169,97,.18);border-radius:12px;padding:12px;text-align:left;cursor:pointer;transition:all var(--t-base);display:flex;flex-direction:column;gap:6px;font-family:var(--font-body);color:var(--ng-cream-100);box-shadow:0 4px 16px -8px #0e241961;min-height:0}.primary-action-card:hover{background:var(--ng-forest-800);border-color:#c9a96173;transform:translateY(-1px);box-shadow:0 8px 22px -8px #0e241973}.primary-action-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.primary-action-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#c9a9611a;border:1px solid rgba(201,169,97,.25);color:var(--ng-gold-500);flex-shrink:0}.primary-action-icon svg{width:20px;height:20px}.primary-action-chevron{color:#fbf7e999;display:inline-flex;align-items:center;margin-top:2px;transition:color var(--t-fast),transform var(--t-fast)}.primary-action-chevron svg{width:11px;height:11px}.primary-action-card:hover .primary-action-chevron{color:var(--ng-gold-500);transform:translate(2px)}.primary-action-title{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--ng-cream-100);line-height:1.2;margin-top:2px;letter-spacing:.01em;font-feature-settings:"kern" 1,"liga" 1}.primary-action-desc{font-family:var(--font-body);font-size:11px;font-weight:400;color:#fbf7e9ad;line-height:1.5;letter-spacing:.02em}.suggested-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.why-these-wrap{position:relative}.why-these-link{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--ng-gold-600);cursor:pointer;padding:4px 6px;border-radius:6px;transition:all var(--t-fast)}.why-these-link:hover{background:#c9a9611a;color:var(--ng-forest-900)}.why-these-popover{position:absolute;top:calc(100% + 6px);right:0;width:260px;background:var(--ng-cream-100);border:1px solid var(--ng-line);border-radius:12px;padding:12px 14px 14px;box-shadow:0 12px 28px -8px #0e241940;z-index:30;animation:fadeIn .18s ease-out}.why-these-title{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--ng-ink-900);margin-bottom:6px}.why-these-popover p{font-family:var(--font-body);font-size:12px;color:var(--ng-ink-600);line-height:1.55;margin:0 0 10px}.why-these-close{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--ng-forest-900);background:var(--ng-canvas-elev);border:1px solid var(--ng-line);border-radius:var(--r-full);padding:4px 12px;cursor:pointer;transition:all var(--t-fast)}.why-these-close:hover{background:var(--ng-canvas-warm);border-color:var(--ng-gold-500)}.suggested-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.suggested-action-card{display:flex;align-items:flex-start;gap:10px;background:var(--ng-cream-100);border:1px solid var(--ng-line);border-radius:14px;padding:14px 14px 12px;text-align:left;cursor:pointer;font-family:var(--font-body);color:var(--ng-ink-700);transition:all var(--t-base);position:relative}.suggested-action-card:hover{background:var(--ng-canvas-elev);border-color:var(--ng-gold-500);transform:translateY(-1px);box-shadow:0 8px 20px -10px #0e24192e}.suggested-action-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#c9a96124;border:1px solid rgba(201,169,97,.25);color:var(--ng-forest-900);flex-shrink:0}.suggested-action-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.suggested-action-title{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--ng-ink-900);line-height:1.2}.suggested-action-desc{font-family:var(--font-body);font-size:11.5px;color:var(--ng-ink-600);line-height:1.5}.suggested-action-chevron{color:var(--ng-gold-500);display:inline-flex;align-items:center;margin-top:8px;transition:transform var(--t-fast);flex-shrink:0}.suggested-action-card:hover .suggested-action-chevron{transform:translate(2px)}.popular-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ng-canvas-warm);border:1px solid var(--ng-line);border-radius:var(--r-full);padding:7px 14px;font-family:var(--font-body);font-size:12px;color:var(--ng-ink-700);cursor:pointer;transition:all var(--t-fast);align-self:flex-start;margin-top:4px}.popular-pill:hover{background:var(--ng-canvas-elev);border-color:var(--ng-gold-500)}.popular-pill-icon{color:var(--ng-gold-600);display:inline-flex;align-items:center}.popular-pill-label{color:var(--ng-ink-600);font-weight:500}.popular-pill-value{color:var(--ng-ink-900);font-weight:600}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e241966;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--sp-4);animation:fadeIn .2s ease-out}.modal-shell{width:100%;max-width:360px;background:var(--ng-canvas);border:1px solid var(--ng-line);border-radius:16px;box-shadow:0 20px 50px -16px #0e241980;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ng-line);background:var(--ng-canvas-elev)}.modal-title{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--ng-ink-900);margin:0}.modal-close{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid var(--ng-line);color:var(--ng-ink-700);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-fast)}.modal-close:hover{background:var(--ng-canvas-warm);color:var(--ng-forest-900)}.modal-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px}.modal-lead{font-family:var(--font-body);font-size:12.5px;color:var(--ng-ink-600);margin:0;line-height:1.55}.hours-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hours-list-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--ng-line);border-radius:10px;background:var(--ng-cream-100)}.hours-list-day{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--ng-ink-900)}.hours-list-note{font-family:var(--font-body);font-size:12px;color:var(--ng-ink-600);line-height:1.5}.msg-row{display:flex;gap:var(--sp-2);max-width:100%}.msg-row.user{flex-direction:row-reverse;animation:slideInRight .3s cubic-bezier(.34,1.56,.64,1)}.msg-row.assistant{animation:slideInLeft .3s cubic-bezier(.34,1.56,.64,1)}.msg-row.system{justify-content:center}.system-bubble{background:transparent;color:#9ca3af;font-size:11px;text-align:center;padding:2px 8px;border:none;box-shadow:none}.avatar{flex-shrink:0;width:30px;height:30px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;margin-top:2px}.avatar.assistant-avatar{background:var(--ng-forest-900);border:1px solid rgba(201,169,97,.4);overflow:hidden}.avatar.assistant-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg)}.avatar.user-avatar{background:var(--ng-canvas-elev);border:1px solid var(--ng-line);color:var(--ng-forest-900)}.bubble-wrap{display:flex;flex-direction:column;gap:3px;max-width:calc(100% - 42px)}.msg-row.user .bubble-wrap{align-items:flex-end}.bubble{padding:8px var(--sp-3);border-radius:var(--r-xl);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.62;letter-spacing:.01em;word-break:break-word;white-space:pre-wrap;font-feature-settings:"kern" 1,"liga" 1}.bubble.assistant{background:var(--ng-cream-100);border:1px solid var(--ng-line);border-left:2px solid var(--ng-gold-500);color:var(--ng-ink-700);border-radius:var(--r-xl) var(--r-xl) var(--r-xl) var(--r-sm);box-shadow:0 2px 8px -3px #0e24191f}.bubble.assistant strong{font-weight:700;color:var(--ng-ink-900)}.bubble.user{background:var(--ng-forest-900);color:var(--ng-cream-100);font-weight:500;border-radius:var(--r-xl) var(--r-xl) var(--r-sm) var(--r-xl);border:1px solid var(--ng-forest-700);box-shadow:0 4px 14px -4px #0e241959}.msg-time{font-family:var(--font-body);font-size:10px;font-weight:500;color:#9ca3af;padding:0 var(--sp-1);letter-spacing:.04em;font-variant-numeric:tabular-nums}.typing-row{display:flex;gap:var(--sp-2);animation:slideInLeft .25s ease-out}.typing-bubble{background:var(--ng-cream-100);border:1px solid var(--ng-line);border-left:2px solid var(--ng-gold-500);border-radius:var(--r-xl) var(--r-xl) var(--r-xl) var(--r-sm);padding:12px 16px;display:flex;align-items:center;gap:5px;box-shadow:0 2px 8px -3px #0e24191f}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--ng-gold-500);animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.avail-card{margin:var(--sp-1) 0;background:var(--ng-cream-100);border:1px solid var(--ng-line);border-radius:var(--r-2xl);overflow:hidden;box-shadow:0 4px 14px -6px #0e24192e;animation:fadeIn .4s ease-out}.avail-card-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--ng-line);display:flex;align-items:center;gap:var(--sp-3);background:var(--ng-canvas-elev)}.avail-card-icon{width:32px;height:32px;border-radius:var(--r-lg);background:#c9a96124;border:1px solid rgba(201,169,97,.3);color:var(--ng-forest-900);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.avail-card-label{flex:1}.avail-card-title{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--ng-ink-900);letter-spacing:.02em;font-feature-settings:"kern" 1,"liga" 1}.avail-card-date{font-size:11px;color:var(--ng-gold-600);font-weight:500;margin-top:1px}.avail-badge{font-size:10px;font-weight:700;background:var(--ng-canvas-warm);color:var(--ng-forest-900);border:1px solid rgba(201,169,97,.4);border-radius:var(--r-full);padding:2px 8px;letter-spacing:.04em;text-transform:uppercase}.avail-slots{padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}.slot-item{display:flex;align-items:center;gap:var(--sp-3);padding:8px var(--sp-3);border-radius:var(--r-lg);background:var(--ng-canvas);border:1px solid var(--ng-line);transition:all var(--t-fast);width:100%;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;box-sizing:border-box}.slot-item:disabled{cursor:default;opacity:1}.slot-item:hover:not(:disabled){background:var(--ng-canvas-elev);border-color:var(--ng-gold-500);box-shadow:0 2px 8px -2px #0e24191f}.slot-item:focus-visible{outline:2px solid var(--ng-primary-700);outline-offset:1px}.slot-time{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--ng-forest-900);min-width:54px}.slot-divider{display:inline-block;width:1px;height:18px;background:#e5e7eb;flex-shrink:0}.slot-meta{flex:1}.slot-zone{font-size:12px;font-weight:600;color:#374151;text-transform:capitalize}.slot-seats{font-size:11px;color:#6b7280;margin-top:1px}.slot-pill{font-size:10px;font-weight:600;border-radius:var(--r-full);padding:2px 8px;background:var(--ng-canvas-warm);color:var(--ng-forest-900);border:1px solid rgba(201,169,97,.4);white-space:nowrap}.avail-empty{padding:var(--sp-6) var(--sp-5);text-align:center;color:#6b7280;font-size:13px}.confirmed-card{margin:var(--sp-1) 0;background:linear-gradient(135deg,var(--ng-canvas-elev) 0%,var(--ng-canvas-warm) 100%);border:1px solid var(--ng-gold-500);border-radius:var(--r-2xl);padding:var(--sp-5);display:flex;align-items:center;gap:var(--sp-4);animation:slideInLeft .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 16px -4px #0e24192e}.confirmed-icon{width:44px;height:44px;border-radius:var(--r-full);background:var(--ng-cream-100);border:2px solid var(--ng-gold-500);color:var(--ng-forest-900);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.confirmed-info{flex:1;min-width:0}.confirmed-title{font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--ng-ink-900);letter-spacing:.005em}.confirmed-id{font-size:11px;color:var(--ng-ink-600);margin-top:3px;font-family:Courier New,monospace;word-break:break-all}.confirmed-admin-link{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;color:var(--ng-forest-900);text-decoration:none}.confirmed-admin-link:hover{text-decoration:underline;color:var(--ng-gold-600)}.status-alert{margin:var(--sp-1) 0;border-radius:var(--r-xl);padding:10px var(--sp-4);font-size:13px;display:flex;align-items:flex-start;gap:var(--sp-2);animation:fadeIn .25s ease-out}.status-alert.error{background:#fbeae8;border:1px solid #e9b9b3;color:#8a2820}.status-alert.info{background:var(--ng-canvas-warm);border:1px solid rgba(201,169,97,.4);color:var(--ng-forest-900)}.composer{flex-shrink:0;padding:12px var(--sp-3) var(--sp-3);background:var(--ng-canvas);border-top:1px solid var(--ng-line)}.composer-box{display:flex;align-items:flex-end;gap:6px;background:var(--ng-cream-100);border:1px solid var(--ng-line);border-radius:18px;padding:6px 6px 6px 8px;transition:border-color var(--t-fast),box-shadow var(--t-fast);box-shadow:0 2px 10px -4px #0e24191a}.composer-box:focus-within{border-color:var(--ng-gold-500);box-shadow:0 4px 14px -4px #c9a9614d}.composer-textarea{flex:1;background:transparent;color:var(--ng-ink-900);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.55;letter-spacing:.01em;resize:none;padding:9px 4px;min-height:22px;max-height:110px;overflow-y:auto;font-feature-settings:"kern" 1,"liga" 1}.composer-textarea::placeholder{color:var(--ng-ink-600);opacity:.65}.composer-actions{display:flex;align-items:flex-end;gap:var(--sp-1)}.send-btn{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--ng-forest-900);color:var(--ng-cream-100);border:1px solid var(--ng-forest-700);box-shadow:0 4px 12px -2px #0e241959;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast);cursor:pointer}.send-btn:hover:not(:disabled){background:var(--ng-forest-800);transform:scale(1.05);box-shadow:0 6px 18px -2px #0e241973}.send-btn:active:not(:disabled){transform:scale(.96)}.send-btn:disabled{background:var(--ng-canvas-elev);color:var(--ng-ink-600);border-color:var(--ng-line);box-shadow:none;cursor:not-allowed;opacity:.7}.composer-hint{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--ng-ink-600);text-align:center;margin-top:8px;letter-spacing:.04em;opacity:.78}.data-table-wrap{overflow-x:auto;padding:var(--sp-3) var(--sp-4) var(--sp-4)}.table-scroll-wrap{overflow-x:auto}.table-scroll-wrap::-webkit-scrollbar{width:4px;height:4px}.table-scroll-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--r-full)}.table-scroll-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-body)}.data-table th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#374151;padding:0 var(--sp-3) var(--sp-2);border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.data-table td{font-size:13px;color:#374151;padding:9px var(--sp-3);border-bottom:1px solid #f3f4f6;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr.clickable{cursor:pointer;transition:background var(--t-fast)}.data-table tr.clickable:hover{background:var(--ng-canvas-elev)}.data-table tr.clickable:focus-visible{outline:2px solid var(--ng-primary-700);outline-offset:-2px}.data-table tr.total-row td{color:var(--ng-forest-900);font-weight:700;border-top:1px solid var(--ng-gold-500);border-bottom:none;padding-top:var(--sp-3)}.data-table .menu-name-cell{font-weight:600;color:#111827}.data-table td.price-cell{cursor:pointer;transition:background var(--t-fast),color var(--t-fast);font-weight:600;color:var(--ng-forest-900)}.data-table td.price-cell:hover{background:var(--ng-canvas-elev);color:var(--ng-gold-600)}.data-table td.price-cell:focus-visible{outline:2px solid var(--ng-primary-700);outline-offset:-2px}.capitalize{text-transform:capitalize}.summary-details{padding:var(--sp-4) var(--sp-5) var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2);border-bottom:1px solid #f3f4f6}.summary-detail-row{display:flex;gap:var(--sp-3);font-size:13px;align-items:baseline}.summary-detail-label{flex-shrink:0;width:90px;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.summary-detail-value{flex:1;color:#111827;font-weight:500}.summary-cc-notice{padding:var(--sp-4) var(--sp-5);font-size:11px;line-height:1.6;color:#6b7280;border-top:1px solid #f3f4f6;background:#fafafa}.summary-terms-section{padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid #f3f4f6}.summary-terms-toggle{background:none;border:none;cursor:pointer;color:var(--ng-primary-700);font-size:12px;font-weight:600;padding:0;margin-bottom:var(--sp-2);display:flex;align-items:center;gap:var(--sp-1)}.summary-terms-version{color:#9ca3af;font-weight:400}.summary-terms-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:var(--sp-3);font-size:11px;line-height:1.7;color:#374151;white-space:pre-wrap;margin-bottom:var(--sp-3);max-height:200px;overflow-y:auto}.summary-terms-checkbox{display:flex;align-items:flex-start;gap:var(--sp-2);cursor:pointer;font-size:12px;color:#374151;line-height:1.5}.summary-terms-checkbox input[type=checkbox]{accent-color:var(--ng-primary-700);width:15px;height:15px;flex-shrink:0;margin-top:1px;cursor:pointer}.summary-terms-checkbox input[type=checkbox]:disabled{cursor:default}.summary-payment-panel{margin-top:var(--sp-3);border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:10px}.summary-payment-title{font-size:14px;font-weight:700;color:var(--ng-primary-700)}.summary-payment-helper{font-size:12px;line-height:1.6;color:#374151}.summary-payment-provider{font-size:11px;color:#6b7280}.vvip-card{margin:var(--sp-1) 0;background:var(--ng-cream-100);border:1px solid var(--ng-line);border-radius:var(--r-2xl);overflow:hidden;box-shadow:0 4px 14px -6px #0e24192e;animation:fadeIn .4s ease-out;position:relative}.vvip-stripe{height:4px;background:linear-gradient(90deg,var(--ng-gold-500) 0%,var(--ng-gold-600) 50%,var(--ng-forest-900) 100%)}.vvip-header{padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--ng-line)}.vvip-badge{display:inline-block;background:var(--ng-forest-900);color:var(--ng-gold-500);font-size:10px;font-weight:700;letter-spacing:.12em;padding:3px 10px;border-radius:var(--r-full);margin-bottom:var(--sp-3)}.vvip-title{font-family:var(--font-serif);font-size:19px;font-weight:600;color:var(--ng-ink-900);margin:0 0 var(--sp-2);letter-spacing:.005em}.vvip-subtitle{font-size:13px;color:#6b7280;line-height:1.65;margin:0}.vvip-steps{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);border-bottom:1px solid #f3f4f6}.vvip-step{display:flex;align-items:flex-start;gap:var(--sp-3)}.vvip-step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--ng-gold-500);color:var(--ng-forest-900);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.vvip-step-text{display:flex;flex-direction:column;gap:2px}.vvip-step-text strong{font-size:13px;font-weight:600;color:#111827}.vvip-step-text span{font-size:12px;color:#6b7280;line-height:1.5}.vvip-footer{padding:var(--sp-3) var(--sp-5);font-size:12px;color:var(--ng-ink-600);font-style:italic;background:var(--ng-canvas-elev)}.slot-item--selected{background:var(--ng-forest-900)!important;color:var(--ng-cream-100)!important;border-color:var(--ng-forest-900)!important;box-shadow:0 4px 14px -4px #0e241966;cursor:default}.slot-item--selected .slot-time,.slot-item--selected .slot-zone{color:var(--ng-cream-100)!important}.slot-item--selected .slot-pill{background:var(--ng-canvas-warm);color:var(--ng-forest-900);border-color:var(--ng-gold-500)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.55}}@keyframes ring-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.2;transform:scale(1.08)}}@media(max-width:767px){.app{touch-action:manipulation}.header-main-row{padding-top:max(14px,env(safe-area-inset-top,0px));padding-left:max(var(--sp-4),env(safe-area-inset-left,0px));padding-right:max(var(--sp-4),env(safe-area-inset-right,0px));padding-bottom:14px}.thread{padding:var(--sp-4) max(var(--sp-3),env(safe-area-inset-left,0px)) var(--sp-4) max(var(--sp-3),env(safe-area-inset-right,0px));overflow-x:hidden}.composer{padding-top:12px;padding-right:max(var(--sp-3),env(safe-area-inset-right,0px));padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom,0px));padding-left:max(var(--sp-3),env(safe-area-inset-left,0px))}.welcome-screen{padding:18px max(var(--sp-3),env(safe-area-inset-left,0px)) 8px max(var(--sp-3),env(safe-area-inset-right,0px))}.primary-action-grid,.suggested-action-grid{grid-template-columns:1fr 1fr;gap:8px}.welcome-hero-title{font-size:clamp(1.65rem,6.2vw + .35rem,1.95rem);letter-spacing:-.02em}.welcome-hero-greeting{font-size:11px;letter-spacing:.12em}.hours-strip{font-size:11.5px}.hours-strip-link{margin-left:0}.app.app-expanded .welcome-screen{max-width:none;margin:0;width:100%;padding:var(--sp-5) max(var(--sp-3),env(safe-area-inset-left,0px)) var(--sp-4) max(var(--sp-3),env(safe-area-inset-right,0px))}.app.app-expanded .thread{padding:var(--sp-4) max(var(--sp-3),env(safe-area-inset-left,0px)) var(--sp-4) max(var(--sp-3),env(safe-area-inset-right,0px))}.app.app-expanded .composer{padding-top:10px;padding-right:max(var(--sp-3),env(safe-area-inset-right,0px));padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom,0px));padding-left:max(var(--sp-3),env(safe-area-inset-left,0px))}.app.app-expanded .bubble-wrap{max-width:calc(100vw - 52px)}.send-btn,.header-icon-btn{width:44px;height:44px;min-width:44px;min-height:44px}.bubble-wrap{max-width:calc(100vw - 56px)}.summary-payment-panel{width:100%;box-sizing:border-box}.summary-payment-panel .slot-item{min-height:44px}.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(min-width:768px){.app.app-collapsed .thread{padding:var(--sp-5) clamp(var(--sp-5),5vw,var(--sp-12))}.app.app-collapsed .composer{padding:12px clamp(var(--sp-5),5vw,var(--sp-12)) var(--sp-5)}.app.app-collapsed .welcome-screen{padding:24px clamp(var(--sp-5),5vw,var(--sp-12)) 12px}.app.app-collapsed .bubble-wrap{max-width:min(42rem,78%)}.app.app-expanded .welcome-screen{max-width:none;margin:0;width:100%}.app.app-expanded .bubble-wrap{max-width:min(52rem,96%)}}@media(max-width:480px){.header{padding:0}}:root{--ng-canvas: #FAF7EC;--ng-canvas-elev: #F5EFDC;--ng-canvas-warm: #F1E9D2;--ng-forest-900: #0E2419;--ng-forest-800: #163325;--ng-forest-700: #1F3A2A;--ng-forest-600: #2A4A36;--ng-cream-100: #FBF7E9;--ng-cream-200: #EFE7CF;--ng-gold-500: #C9A961;--ng-gold-600: #B8954D;--ng-ink-900: #14241B;--ng-ink-700: #243B2A;--ng-ink-600: #3F4F45;--ng-line: #E2D9BF;--ng-navy: #0c0e26;--ng-blue-50: #eef2ff;--ng-blue-100: #e0e7ff;--ng-blue-200: #c7d2fe;--ng-blue-300: #a5b4fc;--ng-blue-400: #818cf8;--ng-blue-500: #4f6ab8;--ng-blue-600: #3d548f;--ng-blue-700: #2c3d66;--ng-blue-800: #1e2a47;--ng-blue-900: #0c0e26;--ng-primary-50: var(--ng-blue-50);--ng-primary-100: var(--ng-blue-100);--ng-primary-200: var(--ng-blue-200);--ng-primary-300: var(--ng-blue-300);--ng-primary-400: var(--ng-blue-400);--ng-primary-500: var(--ng-blue-500);--ng-primary-600: var(--ng-blue-600);--ng-primary-700: var(--ng-blue-700);--ng-primary-800: var(--ng-blue-800);--ng-primary-900: var(--ng-blue-900);--ng-secondary-50: #A5A5A5;--ng-secondary-100: #6b7280;--ng-secondary-200: #9ca3af;--ng-secondary-300: #d1d5db;--ng-secondary-400: #e5e7eb;--ng-secondary-500: #f3f4f6;--ng-secondary-600: #f9fafb;--ng-secondary-700: #ffffff;--ng-secondary-800: #f1f5f9;--ng-secondary-900: #f8fafc;--ng-success: #16a34a;--ng-warning: #d97706;--ng-error: #dc2626;--ng-neutral: #737373;--font-display: "Sora", sans-serif;--font-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;--font-body: "Inter", sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--r-full: 9999px;--shadow-sm: 0 1px 3px 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04);--shadow-md: 0 4px 16px -2px rgba(0,0,0,.1), 0 2px 6px -1px rgba(0,0,0,.06);--shadow-lg: 0 20px 40px -8px rgba(0,0,0,.15), 0 8px 16px -4px rgba(0,0,0,.08);--shadow-glow: 0 0 28px rgba(79, 106, 184, .35);--t-fast: .15s ease-in-out;--t-base: .25s ease-in-out;--t-slow: .35s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--ng-ink-700);background:var(--ng-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;background:none}button:focus-visible{outline:2px solid var(--ng-primary-700);outline-offset:2px}textarea,input{font-family:var(--font-body);border:none;outline:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:#9ca3af}
