.admin{max-width:820px;margin:0 auto;padding:20px 16px 60px;color:var(--text)}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-head-right{display:flex;align-items:center;gap:12px}.admin-head h1 .brand-sub{font-size:16px}.admin-head h1{font-size:22px;margin:0}.admin-empty{color:var(--muted)}.kb-group{margin-bottom:22px}.kb-group h2{font-size:16px;color:var(--gold);border-bottom:1px solid #2a3650;padding-bottom:6px;margin:18px 0 10px}.kb-row{background:var(--card);border:1px solid #2a3650;border-radius:12px;padding:12px;margin-bottom:10px}.kb-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.kb-topic{font-weight:700;color:var(--cyan);font-size:14px}.kb-row-head audio{height:30px}.kb-examples{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.kb-example{background:#182338;border:1px solid #2a3650;border-radius:6px;padding:2px 8px;font-size:12px;color:#89b}.kb-row textarea{width:100%;box-sizing:border-box;background:#0f1626;color:var(--text);border:1px solid #2f3d5a;border-radius:8px;padding:8px 10px;font:14px/1.4 inherit;resize:vertical}.kb-row-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.kb-row-actions button,.admin-head button{padding:8px 14px;border-radius:8px;border:1px solid #2f3d5a;background:#233048;color:var(--text);font-size:14px;cursor:pointer}.kb-row-actions button.primary,.admin-head button{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;border:none;font-weight:700}.kb-row-actions button:disabled{opacity:.5;cursor:default}.kb-saved{color:#7cfc00;font-size:13px}.kb-row-actions button.danger{background:#3a2230;border-color:#5a2f3d;color:#ff9bb0}.admin-loading{color:var(--muted);padding:24px 0}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid #2a3650;margin-bottom:18px;flex-wrap:wrap}.admin-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:15px;padding:8px 12px;cursor:pointer}.admin-tabs button.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:700}.admin-logout{padding:6px 12px;border-radius:8px;border:1px solid #2f3d5a;background:#233048;color:var(--text);cursor:pointer}.admin-restaurant-select{padding:6px 10px;border-radius:8px;border:1px solid #2f3d5a;background:#233048;color:var(--text);font-size:13px;cursor:pointer}.admin-login{max-width:320px;margin:18vh auto 0;display:flex;flex-direction:column;gap:12px;padding:24px;text-align:center;color:var(--text)}.admin-login input,.kb-add input,.kb-add select,.kb-add textarea,.pos-form input,.pos-form select{width:100%;box-sizing:border-box;background:#0f1626;color:var(--text);border:1px solid #2f3d5a;border-radius:8px;padding:9px 11px;font:14px/1.4 inherit}.admin-login button,.tab-actions button,.tab-head button{padding:9px 16px;border-radius:8px;border:1px solid #2f3d5a;background:#233048;color:var(--text);font-size:14px;cursor:pointer}.admin-login button.primary,.tab-actions button.primary,.tab-head button{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;border:none;font-weight:700}.tab-actions button:disabled{opacity:.5;cursor:default}.tab-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.tab-hint{color:var(--muted);font-size:14px;margin:0 0 12px}.tab-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.tab-subheading{margin:22px 0 4px;font-size:15px}.lines-edit{display:block}.lines-edit label{margin-bottom:10px}.pos-err{color:#ff9bb0;font-size:13px}.pos-probe{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.pos-stages{list-style:none;padding:10px 0 0;margin:0;font-size:14px}.pos-stages li{padding:3px 0}.pos-stages li.ok{color:#7fdc8f}.pos-stages li.fail{color:#ff9bb0}.pos-panel{margin-top:26px;border-top:1px solid #22304a;padding-top:4px}.pos-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.pos-table th,.pos-table td{border:1px solid #22304a;padding:6px 9px;text-align:left}.pos-table th{background:#101c30;color:var(--muted);font-weight:600}.pos-table select{max-width:220px}.kb-add-toggle{background:#233048;color:var(--text);border:1px dashed #3a4868;border-radius:10px;padding:10px 14px;cursor:pointer;margin-bottom:16px}.kb-add{background:var(--card);border:1px solid #2a3650;border-radius:12px;padding:14px;margin-bottom:16px}.kb-add h3{margin:0 0 10px;font-size:15px;color:var(--cyan)}.kb-add label{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.kb-add label>*{margin-top:4px}.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.rec-item{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid #2a3650;border-radius:10px;padding:10px 12px;cursor:pointer}.rec-item.on{border-color:var(--gold)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:20px}.stat-card{background:var(--card);border:1px solid #2a3650;border-radius:12px;padding:14px;text-align:center}.stat-card b{display:block;font-size:22px;color:var(--gold)}.stat-card span{font-size:13px;color:var(--muted)}.stat-table{width:100%;border-collapse:collapse;font-size:14px}.stat-table th,.stat-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #243049}.stat-table th{color:var(--cyan);font-weight:700}.stat-table td:not(:first-child),.stat-table th:not(:first-child){text-align:right}.menu-cat{border:1px solid #2a3650;border-radius:12px;margin-bottom:12px;overflow:hidden}.menu-cat-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#131f30}.menu-cat-toggle{background:none;border:none;color:var(--gold);font-size:15px;font-weight:700;cursor:pointer;text-align:left;flex:1}.menu-cat-count{color:var(--muted);font-size:13px;font-weight:400;margin-left:6px}.menu-cat-actions{display:flex;gap:6px}.menu-cat-actions button{padding:5px 10px;border-radius:7px;border:1px solid #2f3d5a;background:#233048;color:var(--text);font-size:13px;cursor:pointer}.menu-cat-actions button.danger{background:#3a2230;border-color:#5a2f3d;color:#ff9bb0}.menu-cat-body{padding:6px 10px 10px}.menu-dish-row{display:flex;align-items:center;gap:8px;padding:7px 6px;border-bottom:1px solid #1a2740}.menu-dish-row:last-child{border-bottom:none}.menu-rec-check{display:flex;align-items:center;flex-shrink:0}.menu-rec-check input{width:16px;height:16px;cursor:pointer;accent-color:var(--gold)}.menu-dish-name{flex:1;font-size:14px}.menu-dish-price{color:var(--muted);font-size:13px;white-space:nowrap}.menu-dish-btns{display:flex;gap:5px;flex-shrink:0}.menu-dish-btns button{padding:4px 9px;border-radius:6px;border:1px solid #2f3d5a;background:#233048;color:var(--text);font-size:12px;cursor:pointer}.menu-dish-btns button.danger{background:#3a2230;border-color:#5a2f3d;color:#ff9bb0}.menu-dish-edit{background:#0f1a2b;border:1px solid #2a3650;border-radius:10px;padding:12px;margin:4px 0 8px}.menu-edit-row{display:flex;gap:12px}.menu-edit-row label{flex:1}.menu-dish-edit label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.menu-dish-edit label>input,.menu-dish-edit label>textarea{display:block;width:100%;box-sizing:border-box;margin-top:3px;background:#0b1220;color:var(--text);border:1px solid #2f3d5a;border-radius:7px;padding:7px 9px;font:14px/1.4 inherit}.menu-dish-edit label>textarea{resize:vertical}.menu-kb-panel{background:#0a1525;border:1px solid #1e3050;border-radius:10px;padding:10px 12px;margin:4px 0 8px}.menu-kb-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--cyan);margin-bottom:8px}.menu-kb-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px}.menu-add-cat{background:var(--card);border:1px solid #2a3650;border-radius:12px;padding:14px;margin-top:12px}.menu-add-cat h3{margin:0 0 10px;font-size:15px;color:var(--cyan)}.menu-add-cat label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.menu-add-cat label>input{display:block;width:100%;box-sizing:border-box;margin-top:3px;background:#0f1626;color:var(--text);border:1px solid #2f3d5a;border-radius:8px;padding:8px 10px;font:14px/1.4 inherit}.dish-add-btn{display:block;width:100%;background:transparent;color:var(--muted);border:1px dashed #2f3d5a;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:13px;text-align:left;margin-top:6px}.dish-add-btn:hover{border-color:var(--gold);color:var(--gold)}.options-toggle{max-width:460px;margin-bottom:4px}.stat-chart-head{display:flex;align-items:center;gap:8px;margin:20px 0 8px;font-size:13px;color:var(--muted)}.stat-chart-head button{padding:4px 10px;border-radius:6px;border:1px solid #2f3d5a;background:#233048;color:var(--muted);font-size:12px;cursor:pointer}.stat-chart-head button.active{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;border:none;font-weight:700}.stat-chart-label{font-size:13px;color:var(--muted);margin:14px 0 4px}.stat-chart{margin-bottom:8px}.pos-form{max-width:460px}.pos-form label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}.pos-form label>input,.pos-form label>select{margin-top:4px}.pos-form em{color:#7cfc00;font-style:normal}.pair-screen{max-width:360px;margin:14vh auto 0;padding:0 16px}.pair-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 24px;text-align:center;box-shadow:0 12px 32px #24304a1f}.pair-card h1{font-size:22px;margin:0 0 8px;color:var(--primary)}.pair-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.pair-card form{display:flex;flex-direction:column;gap:12px}.pair-card input{width:100%;box-sizing:border-box;background:#0f1626;color:#e8edf6;border:1px solid #2f3d5a;border-radius:8px;padding:11px 12px;font:16px/1.4 inherit;text-align:center;letter-spacing:.08em;text-transform:uppercase}.pair-card input::placeholder{color:#5a6b8a;letter-spacing:.08em}.pair-card button{padding:11px 16px;border-radius:10px;border:none;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;font-size:15px;font-weight:700;cursor:pointer}.pair-card button:disabled{opacity:.5;cursor:default}.pair-code-modal{text-align:center}.pair-code-value{font-size:28px;font-weight:700;letter-spacing:.12em;color:var(--primary);margin:12px 0}.pair-code-qr{width:180px;height:180px;margin:12px auto;display:block;border-radius:8px}.pair-code-expiry{color:var(--muted);font-size:13px}.owner-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050810b3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.owner-modal{width:100%;max-width:380px;background:var(--card);border-radius:16px;padding:24px;color:var(--text)}.owner-modal h2{margin:0 0 6px;font-size:18px;color:var(--primary)}.owner-form{display:flex;flex-direction:column;gap:12px;margin-top:14px}.owner-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);text-align:left}.owner-form input,.owner-form select{background:#0f1626;color:#e8edf6;border:1px solid #2f3d5a;border-radius:8px;padding:9px 11px;font:14px/1.4 inherit}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px}.device-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px}.device-card.is-revoked{opacity:.5}.device-card-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.device-online-dot{width:8px;height:8px;border-radius:50%;background:#b0b8c8;flex:0 0 auto}.device-online-dot.on{background:#3fbf6a}.device-name{font-weight:700;flex:1}.device-role{font-size:11px;padding:2px 8px;border-radius:999px;background:#24304a14;color:var(--muted)}.device-station,.device-meta{font-size:13px;color:var(--muted);margin:2px 0}.device-card .danger{margin-top:8px;padding:6px 12px;border-radius:8px;border:1px solid var(--danger);background:transparent;color:var(--danger);cursor:pointer;font-size:13px}.tables-bulk-form{max-width:280px}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:20px}.table-chip{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 8px;text-align:center;cursor:pointer;transition:opacity .15s ease}.table-chip.inactive{opacity:.4}.table-chip-number{display:block;font-family:"PT Serif",Georgia,serif;font-size:20px;color:var(--primary)}.table-chip-label{display:block;font-size:11px;color:var(--muted);margin-top:2px}.tables-add-form{flex-direction:row!important;flex-wrap:wrap;align-items:center;max-width:480px}.tables-add-form input{flex:1;min-width:100px}.tables-add-form button{padding:9px 14px;border-radius:8px;border:1px solid var(--gold-deep);background:transparent;color:var(--gold-text);cursor:pointer;white-space:nowrap}.kitchen-app{max-width:1400px;margin:0 auto;padding:16px 16px 60px;color:var(--text)}.kitchen-sound-gate{max-width:360px;margin:20vh auto 0;text-align:center}.kitchen-sound-gate p{color:var(--muted);margin-bottom:18px}.kitchen-sound-gate button{padding:18px 28px;font-size:17px;font-weight:700;border:none;border-radius:14px;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;cursor:pointer;min-height:64px}.kitchen-tabs{display:flex;gap:8px;margin-bottom:16px}.kitchen-tabs button{flex:1;padding:14px;min-height:56px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-weight:700;font-size:15px;cursor:pointer}.kitchen-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.kitchen-offline-badge{text-align:center;padding:8px;margin-bottom:12px;border-radius:10px;background:#c1443c1f;color:var(--danger);font-size:13px;font-weight:700}.kitchen-loading,.kitchen-empty{color:var(--muted);text-align:center;margin-top:40px;font-size:16px}.kitchen-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.kitchen-card{background:var(--card);border:1px solid #2a3650;border-left:6px solid #2a3650;border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s ease}.kitchen-card.ready{border-left-color:#4fd18a}.kitchen-card.overdue{border-left-color:var(--danger)}.kitchen-card-head{display:flex;align-items:baseline;justify-content:space-between}.kitchen-card-table{font-family:"PT Serif",Georgia,serif;font-size:24px;color:var(--gold-text)}.kitchen-card-time{color:var(--muted);font-size:14px}.kitchen-card.overdue .kitchen-card-time{color:var(--danger);font-weight:700}.kitchen-all-ready-badge{margin:0;padding:6px 10px;border-radius:10px;font-size:13px;font-weight:700;background:#4fd18a26;color:#2f9d64}.kitchen-card-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:17px}.kitchen-line-qty{color:var(--muted);margin-right:4px;font-weight:700}.kitchen-line-comment{display:block;color:var(--cyan);font-size:14px;margin-left:20px}.kitchen-card-lines-other{opacity:.45;font-size:14px;padding-top:6px;border-top:1px dashed var(--border)}.kitchen-ready-btn{margin-top:auto;min-height:64px;border-radius:12px;border:1px solid #2f3d5a;background:transparent;color:var(--text);font-weight:700;font-size:18px;cursor:pointer}.kitchen-ready-btn.active{background:#4fd18a;border-color:#4fd18a;color:#0c1420}.kitchen-menu-list{display:flex;flex-direction:column;gap:8px}.kitchen-menu-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;min-height:64px}.kitchen-menu-row-name{flex:1;font-size:16px}.kitchen-menu-row.mine{border-color:var(--gold-deep)}.kitchen-menu-toggle{width:52px;height:30px;border-radius:999px;border:none;background:#ccc3b5;position:relative;cursor:pointer;flex:0 0 auto}.kitchen-menu-toggle.on{background:var(--gold-deep)}.kitchen-menu-toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s ease}.kitchen-menu-toggle.on:after{left:25px}.kitchen-menu-hint{color:var(--muted);font-size:13px;margin:0 0 14px}.waiter-app{max-width:1400px;margin:0 auto;padding:16px 16px 60px;color:var(--text)}.waiter-tabs{display:flex;gap:8px;margin-bottom:16px}.waiter-tabs button{flex:1;padding:12px;min-height:48px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-weight:700;font-size:14px;cursor:pointer;position:relative}.waiter-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.waiter-tab-badge{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}.waiter-offline-badge{text-align:center;padding:8px;margin-bottom:12px;border-radius:10px;background:#c1443c1f;color:var(--danger);font-size:13px;font-weight:700}.waiter-loading,.waiter-empty{color:var(--muted);text-align:center;margin-top:40px}.waiter-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.waiter-card{background:var(--card);border:1px solid #2a3650;border-left:4px solid #2a3650;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s ease}.waiter-card.ready{border-left-color:#4fd18a}.waiter-card.served{opacity:.6}.waiter-card-head{display:flex;align-items:baseline;justify-content:space-between}.waiter-card-table{font-family:"PT Serif",Georgia,serif;font-size:20px;color:var(--gold-text)}.waiter-card-time{color:var(--muted);font-size:13px}.waiter-card-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:15px}.waiter-line-qty{color:var(--muted);margin-right:4px}.waiter-line-comment{display:block;color:var(--cyan);font-size:13px;margin-left:18px}.waiter-badge{margin:0;padding:6px 10px;border-radius:10px;font-size:13px;font-weight:700;background:#ffd56b26;color:var(--gold-text)}.waiter-badge.paid,.waiter-badge.ready{background:#4fd18a26;color:#2f9d64}.waiter-card-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}.waiter-card-actions button{flex:1;padding:10px;border-radius:10px;border:1px solid #2f3d5a;background:transparent;color:var(--text);font-weight:700;font-size:13px;cursor:pointer;min-height:44px}.waiter-served-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.waiter-close-btn{border-color:var(--danger);color:var(--danger)}.waiter-close-btn:hover{background:#ff6b6b1f}.notif-feed{display:flex;flex-direction:column;gap:10px}.notif-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.notif-row.unacked{border-color:var(--gold-deep);box-shadow:0 0 0 1px #c99a5c33}.notif-row.acked{opacity:.5}.notif-icon{font-size:24px;flex:0 0 auto}.notif-body{flex:1;min-width:0}.notif-title{font-weight:700;font-size:15px}.notif-meta{color:var(--muted);font-size:12px;margin-top:2px}.notif-unclaimed-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#1535641a;color:var(--primary);font-size:11px}.notif-ack-btn{flex:0 0 auto;padding:8px 14px;min-height:40px;border-radius:8px;border:none;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;font-weight:700;font-size:13px;cursor:pointer}.waiter-tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px}.waiter-table-chip{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 8px;min-height:56px;text-align:center;cursor:pointer;font-family:"PT Serif",Georgia,serif;font-size:20px;color:var(--muted)}.waiter-table-chip.mine{background:var(--primary);border-color:var(--primary);color:#fff}:root{--bg: #efe1d5;--bg2: #e6d5c4;--gold: #e0b985;--gold-deep: #c99a5c;--gold-text: #a9762f;--primary: #153564;--primary-deep: #0e2447;--cyan: var(--primary);--text: #24304a;--muted: #8a7c6f;--user-text: #6b5642;--card: #fbf4ec;--border: rgba(36, 48, 74, .14);--danger: #c1443c}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{transition:transform .08s ease-out}button:active{transform:scale(.97)}html{height:100%}body,#root{margin:0;min-height:100%}body{font-family:PT Sans,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(#efe1d5e0,#e6d5c4ed),url(/backdrop/restaurant.jpg) center/cover fixed;color:var(--text);overflow-x:hidden;overflow-y:auto}.brand-name{font-family:Onest,Inter,Arial,sans-serif;font-size:19px;font-weight:700;color:var(--primary);letter-spacing:.5px;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.brand-sub{font-family:PT Sans,sans-serif;font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.brand-logo{height:30px;width:auto;display:block}@media (min-width: 768px){.brand-logo{height:42px}}.brand-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.call-screen{position:relative;min-height:100dvh;max-width:480px;margin:0 auto;overflow:hidden;box-shadow:0 0 60px #0000002e}.welcome-genie-scrim{position:absolute;top:0;left:0;width:64%;height:62%;background:linear-gradient(97deg,#efe1d5f2,#efe1d5e0 40%,#efe1d59e 62%,#efe1d547 82%,#efe1d500);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 90%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 90%);pointer-events:none}.welcome-header{position:absolute;left:1.7%;top:3.3%;width:42%;display:flex;flex-direction:column;align-items:flex-start;gap:calc(42.6dvh - 239.2px)}.welcome-header .brand-logo{height:60px}.welcome-header .brand-name{font-family:"PT Serif",Georgia,serif;font-size:47px;font-weight:400;line-height:1.05}.welcome-header .brand-sub{font-family:PT Sans,sans-serif;font-size:16px;margin-top:2px}.waiting-eta{position:absolute;left:1.7%;top:24%;width:50%}.welcome-card{position:absolute;left:1.2%;top:auto;bottom:calc(11.5% + 10px);width:53.3%;background:var(--card);border-radius:26px;box-shadow:0 12px 36px #24304a1f;padding:26px 22px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.welcome-icon{width:64px;height:auto;margin-bottom:6px}.welcome-card h1{margin:0;font-family:"PT Serif",Georgia,serif;font-size:24px;color:var(--text)}.welcome-divider{width:200px;height:18px;margin:10px 0 6px;color:var(--gold-deep)}.welcome-card p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.4}.welcome-primary-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border:none;border-radius:18px;background:linear-gradient(180deg,var(--primary),var(--primary-deep));color:#fff;font-size:17px;font-weight:700;cursor:pointer}.welcome-primary-btn:active{transform:scale(.98)}.welcome-btn-spark{width:16px;height:16px}.welcome-btn-arrow{font-size:18px}.welcome-actions{position:absolute;left:1.2%;top:88.5%;right:1.2%;display:flex;gap:10px}.welcome-action{flex:1;display:flex;align-items:center;gap:8px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);font-size:14px;font-weight:600;text-align:left;cursor:pointer}.welcome-action-icon{width:22px;height:auto;flex:0 0 auto}.welcome-action span:not(.welcome-action-arrow){flex:1}.welcome-action-arrow{flex:0 0 auto;color:var(--gold-text)}.welcome-action.is-called,.cart-bar-staff.is-called,.review-bar-staff.is-called{border-color:var(--gold-deep);background:var(--bg2);color:var(--gold-text)}.waiting-eta{color:var(--text);font-size:16px;margin:0}.waiting-eta strong{color:var(--gold-text);font-family:"PT Serif",Georgia,serif;font-size:22px}.app{position:relative;contain:paint;min-height:100dvh;max-width:480px;margin:0 auto;box-shadow:0 0 60px #0000002e;display:flex;flex-direction:column;padding-bottom:max(env(safe-area-inset-bottom),20px)}.topbar{display:flex;flex-direction:column;gap:6px;padding:12px 16px}.topbar-row{display:flex;justify-content:space-between;align-items:center}.topbar-row-secondary{min-height:30px}.topbar-table{color:var(--muted);font-size:14px}.dismiss-btn{background:transparent;border:1px solid var(--muted);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.genie-area{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px 16px}.app>*:not(.genie-area){position:relative;z-index:1}.genie-area>*:not(.genie-stage){position:relative;z-index:1}.app.phase-payment .genie-area .genie-stage,.app.phase-qr .genie-area .genie-stage,.app.phase-bonus .genie-area .genie-stage{width:min(40vw,160px)}.app.phase-payment .genie-area,.app.phase-qr .genie-area,.app.phase-bonus .genie-area{position:relative;inset:auto;flex:0 0 auto;padding:4px 16px}.genie-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:6px 0;flex-wrap:wrap}.genie-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.genie-pose{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center top;opacity:0;transition:opacity .25s ease}.genie-pose.is-front{opacity:1}.genie-pose-static{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.app.phase-payment .genie-area .genie-stage,.app.phase-qr .genie-area .genie-stage,.app.phase-bonus .genie-area .genie-stage{position:relative;inset:auto;border-radius:22px;overflow:hidden;box-shadow:0 12px 40px #24304a29}.menu-hero{position:relative;min-height:100svh;overflow:hidden}.table-number-badge{position:absolute;top:14px;right:16px;color:#fff;font-size:13px;text-shadow:0 1px 6px rgba(0,0,0,.45)}.menu-hero .welcome-header{gap:10px}.menu-hero .brand-name{gap:16px}.menu-hero .genie-controls{position:absolute;left:auto;right:calc(18.4% - 36px);width:72px;bottom:calc(48.35svh - 46.5px)}.menu-hero .mic-hint{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:0;width:max-content;max-width:140px;white-space:normal;line-height:1.15;text-align:center;color:#fff;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.45)}@media (max-height: 530px){.menu-hero .mic-hint{display:none}}.menu-pill-bar{position:absolute;left:0;right:0;bottom:135px;padding:0 16px}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.015)}}.subtitle{min-height:44px;max-width:620px;text-align:center;font-size:18px;line-height:1.4;padding:10px 16px;margin-top:8px}.subtitle-genie{color:#9c6b26;font-family:"PT Serif",Georgia,serif;font-weight:700}.subtitle-user{color:var(--user-text);font-style:italic}.subtitle-thinking .dot{display:inline-block;width:8px;height:8px;margin:0 3px;border-radius:50%;background:var(--gold);animation:blink 1.2s infinite}.subtitle-thinking .dot:nth-child(2){animation-delay:.2s}.subtitle-thinking .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.error-banner{position:relative;margin-top:8px;color:var(--danger);font-size:14px}.mic-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0}.mic-btn{width:72px;height:72px;border-radius:50%;border:none;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px #ffd56b59}.mic-btn svg{width:34px;height:34px}.mic-btn.listening{background:linear-gradient(180deg,#ff8a8a,var(--danger));animation:pulse 1s ease-in-out infinite}.mic-btn:disabled{opacity:.4;cursor:default}.mic-hint{margin:0;font-size:13px;color:var(--muted)}.order-scroll{flex:1;display:flex;flex-direction:column;gap:14px;width:100%;max-width:480px;margin:-139px auto 0;padding:12px 16px calc(env(safe-area-inset-bottom) + 96px)}.menu-empty{padding:24px 0;text-align:center;color:var(--muted)}.menu-recommend-card{position:absolute;left:1.2%;top:calc(3.3svh + 170px);width:54%;min-height:80px;background:var(--card);border-radius:20px;padding:16px 22px 22px;display:flex;flex-direction:column;justify-content:center;gap:12px;box-shadow:0 12px 36px #24304a1f;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 65%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 65%,transparent 100%)}.menu-header{display:flex;flex-direction:column;align-items:flex-start}.menu-header-sub{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.4;max-height:9.8em;overflow-y:auto}.menu-header-sub-user{color:var(--user-text);font-style:italic}.menu-recommend-card .skip-hint{position:absolute;top:100%;left:0;margin-top:8px}.pill-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.pill-row::-webkit-scrollbar{display:none}.pill{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:10px 16px;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.pill-active{background:var(--gold);color:#fff;border-color:var(--gold)}.dish-list{display:flex;flex-direction:column;gap:0}.dish-card{display:flex;gap:12px;padding:10px;border-radius:18px;border:1px solid var(--border);background:var(--card);cursor:pointer}.dish-card:active{transform:scale(.98)}.dish-photo{position:relative;flex:0 0 auto;width:130px;height:90px;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#fff,#f6ebe0)}.dish-photo-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:32px}.dish-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.dish-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dish-name{margin:0;font-family:"PT Serif",Georgia,serif;font-size:16px;font-weight:400;color:var(--text)}.dish-desc{margin:0;color:var(--muted);font-size:13px}.dish-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}.dish-price{font-weight:700;color:var(--text);font-size:15px}.dish-add{flex:0 0 auto;padding:8px 16px;border-radius:12px;border:none;background:linear-gradient(180deg,var(--primary),var(--primary-deep));color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.cart-bar{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;z-index:40;display:flex;align-items:stretch;gap:10px;padding:8px 16px calc(env(safe-area-inset-bottom) + 8px);background:var(--card);border-top:1px solid var(--border);box-shadow:0 -8px 24px #24304a1a}.cart-bar-cart{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:16px;border:none;background:linear-gradient(180deg,var(--primary),var(--primary-deep));color:#fff;font-size:15px;font-weight:700;cursor:pointer}.cart-bar-badge{background:var(--gold);color:#1a1200;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 5px}.cart-bar-staff{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;border-radius:16px;border:1px solid var(--border);background:var(--card);color:var(--primary);font-size:12px;font-weight:600;line-height:1.25;text-align:left;cursor:pointer}.cart-bar-icon{width:18px;height:auto;flex:0 0 auto}.cart-bar-arrow{color:var(--gold-text);flex:0 0 auto}.cart{background:var(--card);border-radius:16px;padding:14px;display:flex;flex-direction:column}.cart-title{margin:0 0 10px;font-size:16px}.cart-empty{color:var(--muted);font-size:14px}.cart-list{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto}.cart-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;border-bottom:1px solid var(--border)}.cart-qty{color:var(--cyan);font-weight:700}.cart-name{flex:1}.cart-sub{color:var(--gold-text)}.cart-remove{background:transparent;border:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.cart-comment-row{display:flex;align-items:center;gap:6px;padding:2px 0 8px}.cart-comment{flex:1;text-align:left;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:13px;padding:5px 10px;cursor:pointer}.cart-comment.listening{border-style:solid;border-color:var(--danger);color:var(--danger);animation:pulse 1s ease-in-out infinite}.cart-comment-type{flex:0 0 auto;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:13px;padding:5px 8px;cursor:pointer}.cart-total{margin-top:10px;text-align:right;font-size:16px}.cart-total strong{color:var(--gold-text)}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050810b3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.detail-card{position:relative;width:100%;max-width:420px;background:var(--card);border-radius:20px;overflow:hidden}.detail-photo{display:block;width:100%;height:180px;object-fit:cover}.detail-body{padding:24px}.detail-close{position:absolute;top:12px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffd9;border:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}.detail-name{margin:0 0 4px;font-size:22px}.detail-price{color:var(--gold-text);font-size:18px;font-weight:700}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tag{background:#f3e6d4;color:var(--primary);font-size:12px;padding:4px 10px;border-radius:999px}.detail-desc{color:var(--text);line-height:1.4}.detail-ingredients{color:var(--muted);font-size:14px;line-height:1.4}.detail-actions{display:flex;gap:10px;margin-top:16px}.detail-tell{flex:0 0 auto;padding:14px 16px;font-size:15px;font-weight:600;color:var(--gold-text);background:transparent;border:1px solid var(--gold-deep);border-radius:12px;cursor:pointer;white-space:nowrap}.detail-add{flex:1 1 auto;padding:14px;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(180deg,var(--primary),var(--primary-deep));border:none;border-radius:12px;cursor:pointer}.big-choice{padding:16px 28px;font-size:18px;font-weight:700;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--primary);cursor:pointer}.big-choice.primary{color:#fff;font-family:"PT Serif",Georgia,serif;background:linear-gradient(180deg,var(--primary),var(--primary-deep));border:none;box-shadow:0 8px 24px #15356440}.big-choice:active{transform:scale(.98)}.info-panel,.feedback-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:22px;text-align:center;padding:20px}.postmeal{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;padding:24px;pointer-events:none}.postmeal>button{pointer-events:auto}.payment-columns{display:flex;align-items:flex-start;gap:6px;margin-top:-40px}.payment-columns .bill-card{flex:1.2 1 0;min-width:0}.payment-columns .sent-summary-card{flex:1 1 0;min-width:0}.bill-card{background:var(--card);border-radius:20px;padding:14px 10px;box-shadow:0 12px 36px #24304a1f}.bill-total-block{display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border);text-align:center}.bill-total-label{font-size:15px;color:var(--muted)}.bill-total-amount{font-family:"PT Serif",Georgia,serif;font-size:38px;font-weight:300;color:var(--text)}.bill-methods-label{margin-bottom:8px;font-size:12px;color:var(--muted);text-align:center}.review-card{position:absolute;left:1.2%;top:calc(3.3svh + 170px);width:62%;background:linear-gradient(to right,var(--card) 0%,var(--card) 72%,transparent 100%);border-radius:20px;padding:16px 20px;box-shadow:0 12px 36px #24304a1f}.review-card-title{margin:0 0 8px;font-family:"PT Serif",Georgia,serif;font-size:17px;color:var(--text)}.review-empty{margin:4px 0;color:var(--muted);font-size:14px}.review-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.review-row{display:flex;gap:10px}.review-photo{position:relative;flex:0 0 auto;width:48px;height:48px;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#fff,#f6ebe0)}.review-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.review-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.review-name{font-size:14px;font-weight:600;color:var(--text)}.review-item-comment{font-size:12px;color:var(--muted)}.review-row-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:2px}.review-price{font-size:13px;color:var(--muted)}.review-stepper{display:flex;align-items:center;gap:8px}.review-stepper button{width:22px;height:22px;border-radius:7px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:15px;line-height:1;cursor:pointer}.review-stepper span{min-width:14px;text-align:center;font-weight:700;font-size:14px}.review-total{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;font-family:"PT Serif",Georgia,serif}.review-total-label{font-size:15px;color:var(--text)}.review-total-sum{font-size:22px;color:var(--gold-text);margin-right:10px}.review-card-error{margin:8px 0 0;color:var(--danger);font-size:13px}.review-bar{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;z-index:40;display:flex;flex-direction:column;gap:6px;padding:8px 16px calc(env(safe-area-inset-bottom) + 10px);background:var(--card);border-top:1px solid var(--border);box-shadow:0 -8px 24px #24304a1a}.review-bar-secondary{display:flex;gap:10px}.review-bar-secondary-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.review-bar-secondary-icon{width:20px;height:auto;flex:0 0 auto}.sent-bar-reorder{background:linear-gradient(180deg,var(--primary),var(--primary-deep));border-color:transparent;color:#e2eaf6}.review-bar-confirm{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-radius:16px;border:none;background:linear-gradient(180deg,var(--primary),var(--primary-deep));cursor:pointer}.review-bar-confirm-icon{width:34px;height:auto;flex:0 0 auto}.review-bar-confirm-text{flex:1;text-align:center;color:#e2eaf6;font-size:15px;font-weight:700}.review-bar-confirm-arrow{flex:0 0 auto;color:#e2eaf6;font-size:16px}.review-scroll{width:100%;padding:16px 16px calc(env(safe-area-inset-bottom) + 122px)}.review-bar-staff{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:16px;border:1px solid var(--border);background:var(--card);color:var(--primary);cursor:pointer}.review-bar-staff-text{font-size:15px;font-weight:700}.review-bar-staff .cart-bar-icon{width:34px;height:auto}.sent-bar{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;z-index:40;display:flex;flex-direction:column;gap:8px;padding:8px 16px calc(env(safe-area-inset-bottom) + 10px);background:var(--card);border-top:1px solid var(--border);box-shadow:0 -8px 24px #24304a1a}.sent-bar-dismiss{width:100%;padding:8px 16px;border-radius:16px;border:1px solid var(--border);background:var(--card);color:var(--primary);font-size:15px;font-weight:700;cursor:pointer}.free-table-bar{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;z-index:40;display:flex;flex-direction:column;gap:8px;padding:8px 16px calc(env(safe-area-inset-bottom) + 10px);background:var(--card);border-top:1px solid var(--border);box-shadow:0 -8px 24px #24304a1a}.free-table-btn{width:100%;display:flex;align-items:center;gap:14px;min-height:56px;padding:12px 20px;border-radius:18px;border:none;background:linear-gradient(180deg,var(--primary),var(--primary-deep));cursor:pointer}.free-table-btn-icon{width:30px;height:auto;flex:0 0 auto}.free-table-btn-text{flex:1;display:flex;flex-direction:column;gap:2px;text-align:left}.free-table-btn-text strong{color:#fff;font-size:16px;font-weight:700}.free-table-btn-sub{color:#e2eaf6bf;font-size:12px;font-weight:500}.free-table-btn-arrow{flex:0 0 auto;color:#e2eaf6;font-size:18px}.free-table-btn-secondary{background:var(--card);border:1px solid var(--border)}.free-table-btn-secondary .free-table-btn-text strong,.free-table-btn-secondary .free-table-btn-arrow{color:var(--primary)}@media (max-height: 700px){.free-table-bar{gap:4px;padding-top:4px;padding-bottom:calc(env(safe-area-inset-bottom) + 4px)}.free-table-btn{min-height:40px;padding:6px 16px}.free-table-btn-text{gap:0}.free-table-btn-text strong{font-size:14px}.free-table-btn-sub{font-size:11px}}.sent-scroll{width:100%;display:flex;flex-direction:column;gap:14px;margin-top:calc(-48.35svh + 90.5px);padding:16px 16px calc(env(safe-area-inset-bottom) + 125px)}.sent-scroll-no-fixed-bar{padding-left:5px;padding-bottom:calc(env(safe-area-inset-bottom) + 20px)}.status-card,.sent-summary-card{background:var(--card);border-radius:20px;box-shadow:0 12px 36px #24304a1f}.status-card{padding:16px 20px}.sent-summary-card{padding:12px 10px}.sent-summary-card .review-row{gap:8px}.sent-summary-card .review-photo{width:40px;height:40px}.sent-summary-card .review-name{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-qty{font-size:12px;color:var(--muted)}.review-line-total{font-size:14px;font-weight:700;color:var(--text)}.dialogue-card-stack{position:absolute;left:1.2%;top:calc(3.3svh + 170px);width:54%;display:flex;flex-direction:column;gap:14px}.dialogue-card-stack .menu-recommend-card{position:static;width:100%}.thankyou-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--card);border-radius:20px;padding:16px 22px 22px;box-shadow:0 12px 36px #24304a1f;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 65%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 65%,transparent 100%)}.thankyou-icon{width:32px;height:auto}.thankyou-title{margin:0;font-family:"PT Serif",Georgia,serif;font-size:18px;color:var(--text)}.thankyou-status-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:600}.thankyou-status-row img,.thankyou-status-row svg{width:18px;height:18px;flex:0 0 auto}.thankyou-status-row.is-waiting,.thankyou-status-icon{color:var(--gold-deep)}.thankyou-status-row.is-done{color:var(--text)}.thankyou-card-qr{mask-image:none;-webkit-mask-image:none}.thankyou-total{display:flex;align-items:baseline;gap:8px;width:100%;padding-top:10px;border-top:1px solid var(--border)}.thankyou-total-label{font-size:13px;color:var(--muted)}.thankyou-total-amount{font-family:"PT Serif",Georgia,serif;font-size:20px;color:var(--gold-text)}.my-orders-panel{display:flex;flex-direction:column;gap:14px}.my-orders-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-radius:20px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:15px;font-weight:700;cursor:pointer}.my-orders-chevron{color:var(--muted);transition:transform .2s ease}.my-orders-chevron.is-open{transform:rotate(180deg)}.my-orders-entry{display:flex;flex-direction:column;gap:14px}.my-orders-entry-label{padding-left:4px;font-family:"PT Serif",Georgia,serif;font-size:14px;color:var(--muted)}.status-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.status-step{display:flex;gap:12px}.status-step-marker{flex:0 0 auto;display:flex;flex-direction:column;align-items:center}.status-step-icon-wrap{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);background:var(--card)}.status-step-icon-wrap img{width:18px;height:18px;object-fit:contain}.status-step-line{width:1.5px;flex:1;min-height:20px;background:var(--border);margin:3px 0}.status-step-body{flex:1;min-width:0;padding-bottom:18px}.status-step:last-child .status-step-body{padding-bottom:0}.status-step-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.status-step-label{font-size:14px;font-weight:600;color:var(--text)}.status-step-time{flex:0 0 auto;font-size:12px;color:var(--muted)}.status-step-desc{margin:2px 0 0;font-size:12px;color:var(--muted)}.status-step-active .status-step-icon-wrap{background:var(--primary);border-color:var(--primary)}.status-step-active .status-step-icon-wrap img{filter:brightness(0) invert(1)}.status-step-active .status-step-label{color:var(--primary);font-weight:700}.status-step-pending .status-step-label,.status-step-pending .status-step-desc{color:var(--muted)}.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pay-method{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 4px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:9.5px;font-weight:600;text-align:center;cursor:pointer;white-space:nowrap}.pay-method:active{transform:scale(.97)}.pay-icon{font-size:20px;flex:0 0 auto}.pay-icon-qr{width:20px;height:20px;flex:0 0 auto;color:var(--text)}.qr-pay{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.qr-img{width:130px;height:130px;border-radius:14px;background:#fff;padding:8px;cursor:pointer}@media (max-width: 560px){.qr-img{width:116px;height:116px}}@media (max-height: 700px){.qr-img{width:96px;height:96px}}.qr-placeholder{display:flex;align-items:center;justify-content:center;color:#888;font-size:40px}.qr-hint{color:var(--muted);margin:0;font-size:11px}.qr-expand-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050810b3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.qr-expand-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;background:var(--card);border-radius:20px;padding:32px 24px 24px}.qr-expand-img{width:min(80vw,320px);height:min(80vw,320px);background:#fff;border-radius:16px;padding:10px}.qr-expand-card .qr-hint{font-size:14px}.rating{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px}.stars{display:flex;align-items:center;justify-content:center;gap:10px}.star{background:none;border:none;font-size:52px;line-height:1;color:#ddc9b4;cursor:pointer;transition:transform .1s,color .1s}.star.lit{color:var(--gold-text);transform:scale(1.12)}.rating-skip{background:none;border:none;color:var(--muted);font-size:15px;padding:8px 14px;cursor:pointer;text-decoration:underline}.rating-skip:hover{color:var(--text)}.payment-card-badge{font-family:"PT Serif",Georgia,serif;font-size:22px;color:var(--gold-text)}.bonus-card-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center}.bonus-card-hint{color:var(--muted);font-size:16px;max-width:320px}.bonus-card-result{font-family:"PT Serif",Georgia,serif;font-size:20px;color:var(--gold-text)}.bonus-card-points{color:var(--muted);font-size:14px;margin:-8px 0 0}.card-auth-form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.card-auth-form input{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font:16px/1 inherit;text-align:center}.card-auth-form input.invalid{border-color:var(--danger)}.card-auth-form button[type=submit]{padding:13px;border-radius:12px;border:none;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#1a1200;font:700 16px/1 inherit;cursor:pointer}.card-auth-form button[type=submit]:disabled{opacity:.5;cursor:default}.card-auth-skip{padding:10px;border-radius:12px;border:1px solid var(--cyan);background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.card-auth-hint{color:var(--muted);font-size:14px;margin:0}.card-auth-demo{color:var(--gold-text);font-size:14px;margin:0}.card-auth-err{color:var(--danger);font-size:13px;text-align:center}.genie-area.skippable{cursor:pointer}.skip-hint{position:relative;margin-top:4px;font-size:12px;color:var(--muted);opacity:.75;animation:pulse 2s ease-in-out infinite}.tips-qr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px}.tips-qr-img{width:150px;height:150px;background:#fff;border-radius:14px;padding:8px}.tips-qr-placeholder{display:flex;align-items:center;justify-content:center;color:#888}.tips-qr-label{color:var(--gold-text);font-weight:600;font-size:14px;text-align:center}@media (max-width: 560px){.tips-qr-img{width:104px;height:104px}.tips-qr-label{font-size:12px}}@media (max-height: 700px){.rating,.tips-qr{padding:4px;gap:4px}.tips-qr-img{width:84px;height:84px}}.app.phase-farewell .sent-scroll{margin-top:calc(-90svh + 460px)}.app.phase-farewell .sent-scroll{padding-bottom:calc(env(safe-area-inset-bottom) + 75px)}.app.phase-farewell .rating{margin-top:-55px}.order-actions{display:flex;flex-direction:column;gap:8px}.debug-hud{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:100;background:#000000c7;color:#7cfc00;font:12px/1.4 ui-monospace,monospace;padding:6px 12px;border-radius:8px;white-space:nowrap;pointer-events:none}.chat-panel{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:16px 20px calc(env(safe-area-inset-bottom) + 24px)}.chat-hint{color:var(--muted);font-size:16px;text-align:center;margin:0}.chat-dismiss{min-width:240px}.guest-login{position:relative;min-height:100dvh;max-width:480px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;box-shadow:0 0 60px #0000002e}.guest-login-card{width:100%;max-width:340px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:36px 28px 32px;text-align:center;display:flex;flex-direction:column;gap:10px}.guest-login-genie{font-size:52px;line-height:1;margin-bottom:4px}.guest-login-card h1{font-size:22px;margin:0;color:var(--primary)}.guest-login-card p{color:var(--muted);font-size:14px;margin:0 0 8px}.guest-login-card form{display:flex;flex-direction:column;gap:12px}.guest-login-card input{width:100%;box-sizing:border-box;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font:16px/1 inherit;text-align:center;letter-spacing:3px}.guest-login-card input::placeholder{letter-spacing:0}.guest-login-card button{padding:13px;border-radius:12px;border:none;background:linear-gradient(180deg,var(--primary),var(--primary-deep));color:#fff;font:700 16px/1 inherit;cursor:pointer}.guest-login-card button:disabled{opacity:.5;cursor:default}.guest-login-err{color:var(--danger);font-size:13px;margin:0}.fx-off *,.fx-off *:before,.fx-off *:after{animation:none!important;transition:none!important}
