@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db9bfcd87f1d73a3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4e2312c98e240c05-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/feed52454563c595-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f83e5507ec3854fa-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8934311971e59087-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bfdf244a9384e8b2-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b10e9fa1144bb4fb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d13ab8ed065835e4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d8c0f620f258dcc1-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5fcb63deed33aab6-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e595057e1ab84c19-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/861fabf8a4ffc042-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/2b32cc5cb75c7a84-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0d4277ce62acaedf-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/942c4903ae74b0f3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/66c5464579bf95d1-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai Fallback;src:local("Arial");ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.00%;size-adjust:101.17%}.__className_218bf9{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.__variable_218bf9{--font-plex-thai:"IBM Plex Sans Thai","IBM Plex Sans Thai Fallback"}:root{color-scheme:light;font-family:var(--font-plex-thai),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Thai",sans-serif}*{box-sizing:border-box}body{margin:0;padding:0;line-height:1.5;color:#1a1a1a;background:#f5f5f5}button,input,select,textarea{font-family:inherit}main{max-width:720px;margin:0 auto;padding:1.5rem 1rem}h1{margin-top:0}table{width:100%;border-collapse:collapse;margin-top:1rem}td,th{text-align:left;padding:.5rem;border-bottom:1px solid #ddd;vertical-align:top}th{font-weight:600;background:rgba(0,0,0,.04)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;background:rgba(0,0,0,.06);padding:.1em .3em;border-radius:.2em}.kpi{display:inline-block;padding:.5rem 1rem;border-radius:.5rem;background:rgba(0,122,255,.1);color:#0066cc;font-weight:600;margin-right:.5rem}.muted{color:#666;font-size:.9em}main.flow{max-width:480px;margin:0 auto;min-height:100vh;padding:0 0 96px}.flow-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #eee;background:white;position:sticky;top:0;z-index:10}.flow-header h1{margin:0;font-size:1rem;font-weight:600;flex:1 1;text-align:center;color:#1a1a1a}.flow-header a,.flow-header button{font-size:1.25rem;background:none;border:none;color:#333;text-decoration:none;min-width:36px;min-height:36px;cursor:pointer}.flow-header .btn-logout{font-size:.8rem;color:#888;padding:8px 10px}.flow-header .vendor-switcher-chip{font-size:.9rem}.flow-body{padding:1rem}.filter-chip-row{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-chip-row .chip{display:inline-flex;align-items:center;padding:.4rem .85rem;border-radius:999px;border:1px solid #d0d0d0;background:white;color:#333;font-size:.85rem;font-weight:500;text-decoration:none;min-height:32px;white-space:nowrap}.filter-chip-row .chip-active{background:#06c755;color:white;border-color:#06c755;font-weight:600}.card{border:1px solid #e5e5e5;border-radius:12px;padding:1rem;margin-bottom:.75rem;background:white}.avatar-placeholder{width:48px;height:48px;border-radius:10px;background:#e0f6e9;color:#1f7a4d;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0;margin-bottom:.5rem}.card.disabled{opacity:.55;pointer-events:none}.card .title{font-weight:600;font-size:1rem;margin:0 0 .25rem;color:#1a1a1a}.card .sub{color:#666;font-size:.9rem}.card-h{display:flex;align-items:flex-start;gap:.75rem;border:1px solid #e5e5e5;border-radius:12px;padding:.875rem;margin-bottom:.75rem;background:white;text-decoration:none;color:inherit;-webkit-tap-highlight-color:rgba(0,0,0,.06)}a.card-h,button.card-h{cursor:pointer}a.card-h:hover,button.card-h:hover{background:#fafafa}a.card-h:active,button.card-h:active{background:#f0f0f0}.card-h.disabled{opacity:.55;pointer-events:none}.card-h-avatar{width:88px;height:88px;min-width:88px;border-radius:12px;background:#e0f6e9;color:#1f7a4d;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0;overflow:hidden;position:relative}.card-h-avatar.sm{width:80px;height:80px;min-width:80px;font-size:1.75rem}.card-h-avatar-closed:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);border-radius:12px}.card-h-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.card-h-title{font-weight:700;font-size:1rem;color:#1a1a1a;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.card-h-sub{font-size:.83rem;color:#666;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-h-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.card-h-stepper{display:flex;align-items:center;justify-content:flex-end;margin-top:.4rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-right:.4rem}.badge.delivery{background:#e0f6e9;color:#1f7a4d}.badge.pickup{background:#e3edff;color:#1955b8}.badge.warn{background:#fff1d4;color:#9a6300}.badge.danger{background:#fce0e0;color:#9c2222}.badge.muted{background:#eee;color:#555}.badge-busy{display:flex;align-items:center;gap:.4rem;background:#fef3e2;border:1px solid #f39c12;border-radius:8px;padding:.5rem .75rem;font-size:.88rem;font-weight:600;color:#9a5500;margin:0 0 1rem}.badge-busy.badge-busy-sm{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;border-width:1px;gap:.3rem;margin:0}.badge-busy-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f39c12;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;font-weight:600;font-size:1rem;padding:.85rem 1rem;background:#06c755;color:white;width:100%;cursor:pointer;min-height:48px;transition:opacity .15s ease}.btn:disabled{background:#ccc;color:#fff;cursor:not-allowed}.btn.secondary{background:white;color:#333;border:1px solid #ccc}.btn.danger{background:white;color:#c0392b;border:1px solid #c0392b}.btn.ghost{background:transparent;color:#1955b8}.bottom-bar{position:fixed;left:0;right:0;bottom:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:white;border-top:1px solid #eee;z-index:20}.bottom-bar .row{display:flex;gap:.5rem}.field{display:block;margin:0 0 1rem}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:#333}.field input,.field textarea{display:block;width:100%;padding:.65rem .75rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;font-family:inherit}.field input.input-disabled,.field input:disabled{background:#f5f5f5;color:#888;border-color:#ddd;cursor:not-allowed;-webkit-text-fill-color:#888}.field textarea{min-height:80px;resize:vertical}.field .hint{color:#666;font-size:.8rem;margin-top:.25rem}.empty{text-align:center;padding:3rem 1rem;color:#666}.empty h2{color:#333;margin:0 0 .5rem;font-size:1.1rem}.stepper{gap:.5rem;-webkit-user-select:none;user-select:none}.stepper,.stepper button{display:inline-flex;align-items:center}.stepper button{justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #ccc;background:white;cursor:pointer;padding:0;color:#333}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper .qty{min-width:1.5rem;text-align:center;font-weight:600}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;margin:1rem 0}.slot-chip{padding:.65rem .5rem;border-radius:10px;border:1px solid #ccc;background:white;text-align:center;font-size:.95rem;font-weight:600;cursor:pointer;min-height:48px}.slot-chip.selected{background:#06c755;color:white;border-color:#06c755}.slot-chip.full,.slot-chip:disabled{background:#f1f1f1;color:#999;cursor:not-allowed}.status-stepper{display:flex;align-items:flex-start;justify-content:space-between;margin:1rem 0}.status-stepper .step{flex:1 1;text-align:center;position:relative;font-size:.75rem;color:#999}.status-stepper .step .dot{display:block;width:18px;height:18px;border-radius:50%;border:2px solid #ccc;background:white;margin:0 auto .25rem}.status-stepper .step.current .dot,.status-stepper .step.done .dot{background:#06c755;border-color:#06c755}.status-stepper .step.current .dot{box-shadow:0 0 0 4px rgba(6,199,85,.2)}.status-stepper .step.current,.status-stepper .step.done{color:#333;font-weight:600}.status-stepper .step .bar{position:absolute;top:8px;left:50%;width:100%;height:2px;background:#ccc;z-index:-1}.status-stepper .step:last-child .bar{display:none}.status-stepper .step.done .bar{background:#06c755}.amber-card{background:#fff8e6;border:1px solid #f5d896;border-radius:10px;padding:1rem;margin:1rem 0}.amber-card .title{color:#9a6300;font-weight:600;margin-bottom:.5rem}.confirm-time{text-align:center;padding:1.25rem;background:#f6fbf3;border:1px solid #cbe6c4;border-radius:12px;margin:1rem 0}.confirm-time .when{font-size:2.25rem;font-weight:700;letter-spacing:.5px;margin:.25rem 0}.list-section h3{margin:1.5rem 0 .5rem;font-size:.9rem;color:#666;font-weight:600;text-transform:none}.menu-category-header{margin:1.25rem 0 .5rem;font-size:.82rem;font-weight:700;color:#555;letter-spacing:.02em;padding-bottom:.3rem;border-bottom:1px solid #e5e5e5;scroll-margin-top:122px}.menu-category-header:first-child{margin-top:0}.category-tab-bar{position:sticky;top:62px;z-index:9;background:white;border-bottom:1px solid #e5e5e5;box-shadow:0 2px 6px rgba(0,0,0,.06);margin-left:-1rem;margin-right:-1rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-tab-bar::-webkit-scrollbar{display:none}.category-tab-bar-inner{display:flex;gap:.4rem;padding:.75rem 1rem .5rem;flex-wrap:nowrap;width:max-content;min-width:100%}.category-tab-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;border:none;background:#f3f4f6;color:#333;font-size:.85rem;font-weight:500;white-space:nowrap;cursor:pointer;font-family:inherit;line-height:1.4;min-height:32px;transition:background .12s ease,color .12s ease;-webkit-tap-highlight-color:transparent}.category-tab-pill:hover{background:#e5e7eb}.category-tab-pill:active{background:#d1d5db}.category-tab-pill.active{background:#1955b8;color:white;font-weight:600}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:white;border-top:1px solid #e5e5e5;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6rem .25rem;text-decoration:none;color:#888;font-size:.72rem;font-weight:500;gap:.15rem;min-height:56px;transition:color .12s ease}.bottom-nav-tab.active{color:#06c755;font-weight:700}.bottom-nav-icon{font-size:1.35rem;line-height:1}.vendor-section-header{font-size:.82rem;font-weight:700;padding:.35rem .75rem;border-radius:6px;margin:1rem 0 .5rem;letter-spacing:.02em}.vendor-section-header.delivery{background:#e0f6e9;color:#1f7a4d}.vendor-section-header.pickup{background:#e3edff;color:#1955b8}.vendor-section-header.done{background:#f0f0f0;color:#555}.count-chip-row{display:flex;gap:.5rem;margin-bottom:.75rem}.count-chip{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.count-chip.delivery{background:#e0f6e9;color:#1f7a4d}.count-chip.pickup{background:#e3edff;color:#1955b8}.refresh-indicator{font-size:.78rem;color:#888;margin-bottom:.75rem}.refresh-indicator.stale{color:#9a6300;font-weight:600}.vendor-card-floor{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:.2rem 0 .1rem}.btn-row{display:flex;gap:.5rem;margin-top:.5rem}.btn-row .btn{flex:1 1}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-sheet{background:white;border-radius:16px;padding:1.5rem 1.25rem;width:100%;max-width:420px;max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.18)}.modal-sheet h2{margin:0 0 1rem;font-size:1.05rem;text-align:center}.modal-sheet .address-display{text-align:center;font-size:1.5rem;font-weight:700;margin:.5rem 0 1.25rem;color:#1a1a1a}.vendor-switcher-static{font-size:.95rem;text-overflow:ellipsis}.vendor-switcher-chip,.vendor-switcher-static{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;max-width:220px}.vendor-switcher-chip{padding:.3rem .6rem;border-radius:999px;border:1px solid #d0d0d0;background:white;font-size:.9rem;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:rgba(0,0,0,.06);transition:background .12s ease,border-color .12s ease}.vendor-switcher-chip:hover{background:#f5f5f5;border-color:#b8b8b8}.vendor-switcher-chip:active{background:#ebebeb}.vendor-switcher-chip:focus-visible{outline:2px solid #06c755;outline-offset:2px}.vendor-switcher-icon{font-size:1rem;line-height:1;flex-shrink:0}.vendor-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.vendor-switcher-sheet-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 .75rem}.vendor-switcher-sheet-title{margin:0;font-size:1.05rem;font-weight:700;color:#1a1a1a;text-align:left}.vendor-switcher-close{background:none;border:none;font-size:1.1rem;color:#888;cursor:pointer;padding:.25rem .5rem;border-radius:6px;font-family:inherit;line-height:1;transition:color .12s ease}.vendor-switcher-close:hover{color:#333}.vendor-switcher-close:focus-visible{outline:2px solid #888;outline-offset:2px}.vendor-switcher-divider{border:none;border-top:1px solid #eee;margin:0}.vendor-switcher-list{list-style:none;margin:0;padding:0}.vendor-switcher-list-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;-webkit-tap-highlight-color:rgba(0,0,0,.06);border-radius:8px;transition:background .1s ease}.vendor-switcher-list-item:hover{background:#f8f8f8}.vendor-switcher-list-item:active{background:#f0f0f0}.vendor-switcher-list-item.current{cursor:default}.vendor-switcher-list-item:focus-visible{outline:2px solid #06c755;outline-offset:2px}.vendor-switcher-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}.vendor-switcher-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.vendor-switcher-list-name{font-weight:700;font-size:.95rem;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-switcher-list-location{font-size:.82rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-lightbox{position:relative;display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:90vh}.photo-lightbox img{display:block;max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.5)}.photo-lightbox-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(0,0,0,.7);color:white;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0;z-index:1;-webkit-tap-highlight-color:transparent}.photo-lightbox-close:hover{background:rgba(0,0,0,.9)}.photo-lightbox-close:focus-visible{outline:2px solid white;outline-offset:2px}.logout-footer{margin-top:2rem;margin-bottom:2rem;text-align:center}.btn-logout{background:none;border:none;font-family:inherit;font-size:.85rem;color:#888;cursor:pointer;padding:12px 16px;text-decoration:none;border-radius:6px;transition:color .12s ease,-webkit-text-decoration .12s ease;transition:color .12s ease,text-decoration .12s ease;transition:color .12s ease,text-decoration .12s ease,-webkit-text-decoration .12s ease;line-height:1.4}.btn-logout:focus-visible,.btn-logout:hover{color:#555;text-decoration:underline;outline:none}.btn-logout:focus-visible{outline:2px solid #888;outline-offset:2px}@keyframes toast-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}