@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap";:root{--brand: #f97316;--brand-dark: #ea6c0a;--bg: #0a0f1a;--surface: #111827;--card: #1a2235;--border: #1e2d45;--text: #f1f5f9;--muted: #64748b;--success: #22c55e;--error: #f43f5e;--radius: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:Manrope,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}.main-screen{position:relative;width:100%;height:100dvh;overflow:hidden;background:#000}.camera-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff26;font-size:14px;pointer-events:none}.toolbar{position:absolute;bottom:env(safe-area-inset-bottom,20px);left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;background:#111827d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:99px;padding:10px 20px;gap:12px;z-index:50}.toolbar-total{font-size:15px;font-weight:700;color:var(--brand);min-width:80px}.toolbar-menu-btn{background:var(--brand);color:#fff;border:none;border-radius:99px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:background .18s;white-space:nowrap}.toolbar-menu-btn:hover{background:var(--brand-dark)}.toolbar-cart-btn{background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.1);border-radius:99px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all .18s;position:relative}.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;border-radius:99px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bell-btn{position:absolute;right:16px;bottom:90px;background:#111827d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:99px;padding:12px 16px;color:var(--text);font-size:20px;cursor:pointer;z-index:50;transition:all .18s;display:flex;align-items:center;gap:8px}.bell-btn:disabled{opacity:.4;cursor:not-allowed}.bell-countdown{font-size:11px;font-weight:600;color:var(--muted)}.tamada-badge{position:absolute;top:env(safe-area-inset-top,16px);left:50%;transform:translate(-50%);background:#f9731626;border:1px solid rgba(249,115,22,.4);color:var(--brand);border-radius:99px;padding:6px 16px;font-size:12px;font-weight:700;z-index:50;display:flex;align-items:center;gap:6px}.confirm-order-btn{position:absolute;left:16px;bottom:88px;background:var(--success);color:#fff;border:none;border-radius:99px;padding:12px 20px;font-size:14px;font-weight:700;cursor:pointer;z-index:50;opacity:.95;transition:all .18s;display:flex;align-items:center;gap:8px}.confirm-order-btn:disabled{opacity:.3;cursor:not-allowed}.menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a0f1aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;padding:0 0 env(safe-area-inset-bottom,0);animation:slide-up .25s ease}@keyframes slide-up{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid var(--border)}.menu-header h2{font-size:18px;font-weight:700}.menu-close-btn{background:#ffffff14;border:none;color:var(--text);border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer}.menu-categories{display:flex;gap:8px;padding:12px 20px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.menu-categories::-webkit-scrollbar{display:none}.cat-pill{background:var(--card);border:1px solid var(--border);border-radius:99px;padding:6px 14px;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .18s;color:var(--text);flex-shrink:0}.cat-pill.active{background:var(--brand);border-color:var(--brand);color:#fff}.menu-tiles{flex:1;overflow-y:auto;padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.dish-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:border-color .18s;display:flex;flex-direction:column}.dish-tile:hover{border-color:var(--brand)}.dish-tile-img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--surface)}.dish-tile-body{padding:10px;flex:1;display:flex;flex-direction:column;gap:4px}.dish-tile-name{font-size:13px;font-weight:600;line-height:1.3}.dish-tile-price{font-size:13px;font-weight:700;color:var(--brand)}.dish-tile-actions{display:flex;gap:6px;padding:0 10px 10px}.dish-btn{flex:1;padding:7px 0;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .18s}.dish-btn-view{background:var(--surface);color:var(--text)}.dish-btn-add{background:var(--brand);color:#fff}.join-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.join-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:20px}.join-logo{font-size:28px;font-weight:800;color:var(--brand);text-align:center}.join-table-name{text-align:center;color:var(--muted);font-size:14px}.join-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:14px 16px;font-size:16px;outline:none;transition:border-color .18s;font-family:inherit}.join-input:focus{border-color:var(--brand)}.join-btn{width:100%;background:var(--brand);color:#fff;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;transition:background .18s;font-family:inherit}.join-btn:hover{background:var(--brand-dark)}.join-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-sheet{width:100%;max-width:480px;background:var(--card);border-top-left-radius:24px;border-top-right-radius:24px;border:1px solid var(--border);border-bottom:none;padding:28px 24px;animation:sheet-up .25s ease;max-height:85dvh;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 20px}.sheet-title{font-size:18px;font-weight:700;margin-bottom:16px}.customer-shell{position:relative;min-height:100dvh;width:100%}.customer-shell__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(249,115,22,.3),transparent 34%),radial-gradient(circle at top right,rgba(14,165,233,.16),transparent 28%),linear-gradient(180deg,#060b144d,#060b14e6 24%,#060b14f7)}.customer-shell__content{position:relative;z-index:1;height:100dvh;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(env(safe-area-inset-bottom,0px) + 28px);display:flex;flex-direction:column;gap:16px}.table-hero,.table-members-panel,.featured-dishes-panel,.settlement-panel{background:#0a101db8;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 50px #0206174d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:26px}.table-hero{padding:18px;display:flex;flex-direction:column;gap:16px}.table-hero__topline,.table-hero__header,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.table-hero__eyebrow,.section-heading__eyebrow{color:#fbbf24;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.table-hero__header h1,.section-heading h2{font-family:Sora,sans-serif;font-size:28px;line-height:1.1;margin-bottom:6px}.table-hero__header p,.section-heading p{color:#cbd5e1;font-size:14px;line-height:1.55}.connection-pill,.role-chip,.settlement-progress-pill,.ghost-pill,.mini-brand-btn{border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.12)}.connection-pill,.role-chip,.settlement-progress-pill{background:#0f172ab8;color:#e2e8f0}.ghost-pill{background:#ffffff14;color:var(--text);cursor:pointer}.ghost-pill:disabled{opacity:.5;cursor:not-allowed}.role-chip--tamada{background:#f9731629;color:#fdba74;border-color:#f973163d}.table-hero__meta,.table-summary-grid,.featured-dishes-grid,.member-list,.settlement-list{display:grid;gap:10px}.table-hero__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.table-stage-card{padding:16px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--stage-accent) 18%,rgba(15,23,42,.92)),#0f172af5);border:1px solid color-mix(in srgb,var(--stage-accent) 35%,rgba(255,255,255,.08))}.table-stage-card__title{font-family:Sora,sans-serif;font-size:18px;margin-bottom:8px}.table-stage-card__body,.table-stage-card__meta,.action-card__meta,.member-row__role,.featured-dish-card__description,.settlement-row__status,.customer-note-card{color:#cbd5e1;line-height:1.55;font-size:13px}.table-stage-card__meta{margin-top:10px;color:#f8fafc}.table-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{background:#0f172ab8;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px;color:var(--text);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px}.action-card:disabled{opacity:.45;cursor:not-allowed}.action-card--primary{background:linear-gradient(135deg,#f9731638,#111827e0);border-color:#f9731638}.action-card__icon{font-size:22px}.action-card__title{font-weight:800;font-size:15px}.table-primary-actions{display:flex;flex-direction:column;gap:10px}.customer-primary-btn{width:100%;border:none;border-radius:18px;padding:16px 18px;color:#fff;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer}.customer-primary-btn--success{background:linear-gradient(135deg,#22c55e,#15803d)}.customer-primary-btn--accent{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.customer-note-card{background:#0f172ab8;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px 16px}.customer-note-card--success{border-color:#22c55e3d;background:#22c55e1f}.table-members-panel,.featured-dishes-panel,.settlement-panel{padding:18px}.member-row,.settlement-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.member-row:first-child,.settlement-row:first-child{border-top:none;padding-top:2px}.member-row__identity{display:flex;align-items:center;gap:12px}.member-avatar{width:42px;height:42px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#f973161f;border:1px solid rgba(249,115,22,.2);font-size:20px}.member-row__name,.settlement-row__name{font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:2px}.member-row__you{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#fdba74}.featured-dishes-grid{grid-template-columns:1fr}.featured-dish-card{overflow:hidden;border-radius:20px;background:#0f172ab8;border:1px solid rgba(255,255,255,.08)}.featured-dish-card__image{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.featured-dish-card__image--placeholder{display:flex;align-items:center;justify-content:center;background:#0f172adb;font-size:48px}.featured-dish-card__body{padding:14px;display:flex;flex-direction:column;gap:14px}.featured-dish-card__name{font-weight:800;font-size:16px;margin-bottom:6px}.featured-dish-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.featured-dish-card__price,.settlement-row__amount{font-family:Sora,sans-serif;font-weight:800;font-size:16px;color:#fbbf24}.mini-brand-btn{background:#f9731629;color:#fff;border-color:#f973164d;cursor:pointer}.settlement-row--paid{opacity:.82}@media (min-width: 760px){.customer-shell__content{max-width:860px;margin:0 auto;padding-left:20px;padding-right:20px}.featured-dishes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
