:root{--brand-700: #8f1d2c;--brand-500: #b5414f;--brand-100: #f7e4e4;--coffee-800: #4e2e17;--coffee-600: #7a5234;--caramel: #c49a6c;--cream-50: #fcf7f2;--cream-100: #f3eadb;--white: #fff;--line: #e5dccb;--success: #2f7d4a;--warning: #b26a00;--danger: #b3261e;--shadow: 0 2px 8px rgba(78, 46, 23, .08);--nav-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--cream-50);color:var(--coffee-800)}body{font:16px/1.45 Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px}h2{font-size:20px}h3{font-size:18px;font-weight:600}.app{max-width:720px;margin:0 auto;min-height:100vh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px)}.top{position:sticky;top:0;z-index:20;background:var(--brand-700);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;gap:12px;min-height:56px}.top h1{font-size:19px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top .back{background:none;border:0;color:#fff;font-size:26px;padding:0 8px 0 0;min-width:44px;min-height:44px;cursor:pointer;text-align:left}.top .pill{background:#ffffff2e;border-radius:999px;padding:4px 10px;font-size:14px;white-space:nowrap}.page{padding:16px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.page>*,.stack>*,.list>*{min-width:0}.list,.stack{grid-template-columns:minmax(0,1fr)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}.nav-in{display:flex;width:100%;max-width:720px}.nav button{flex:1;background:none;border:0;min-height:var(--nav-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;color:var(--coffee-600);cursor:pointer;position:relative}.nav button .ic{font-size:22px;line-height:1;width:48px;height:30px;display:grid;place-items:center;border-radius:15px}.nav button.on{color:var(--brand-700);font-weight:600}.nav button.on .ic{background:var(--brand-100)}.nav .badge{position:absolute;top:6px;left:calc(50% + 8px);background:var(--danger);color:#fff;font-size:13px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;padding:0 6px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.muted{color:var(--coffee-600);font-size:15px}.small{font-size:14px}.bold{font-weight:700}.price{font-weight:700;color:var(--coffee-800)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:grid;gap:8px}.sep{height:1px;background:var(--line);margin:4px 0}.btn{min-height:48px;border-radius:12px;border:1.5px solid var(--brand-700);background:var(--brand-700);color:#fff;font-weight:600;padding:0 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.btn:active{filter:brightness(.92)}.btn:disabled{background:#cfc8b8;border-color:#cfc8b8;color:#fff;cursor:default}.btn.full{width:100%}.btn.ghost{background:transparent;color:var(--brand-700)}.btn.soft{background:var(--cream-100);color:var(--coffee-800);border-color:var(--cream-100)}.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn.ok{background:var(--success);border-color:var(--success)}.btn.sm{min-height:44px;padding:0 12px;font-size:15px}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;gap:6px}.chip.on{background:var(--brand-100);border-color:var(--brand-500);color:var(--brand-700);font-weight:700}.chip .n{background:var(--brand-700);color:#fff;border-radius:10px;font-size:13px;padding:0 7px}label.f{display:grid;gap:6px;font-size:15px;font-weight:600}label.f .hint{font-weight:400;color:var(--coffee-600);font-size:14px}.in{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;font-size:16px}.in:focus{outline:2px solid var(--brand-500);outline-offset:0;border-color:var(--brand-500)}textarea.in{min-height:84px;resize:vertical}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sw{position:relative;width:52px;height:32px;flex:none;border-radius:16px;background:#cfc8b8;border:0;cursor:pointer;transition:background .15s}.sw:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #0003}.sw.on{background:var(--success)}.sw.on:after{transform:translate(20px)}.sw:disabled{opacity:.5}.check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.check input{width:22px;height:22px;accent-color:var(--brand-700)}.tag{display:inline-flex;align-items:center;border-radius:8px;padding:2px 8px;font-size:14px;font-weight:600;background:var(--cream-100);color:var(--coffee-800);white-space:nowrap}.tag.red{background:var(--brand-100);color:var(--brand-700)}.tag.green{background:#e3f1e7;color:var(--success)}.tag.orange{background:#fbecd6;color:var(--warning)}.tag.grey{background:#ece8e0;color:#5c5346}.thumb{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--cream-100);flex:none;display:grid;place-items:center;font-size:26px}.thumb.off{opacity:.45}.list{display:grid;gap:8px}.item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:12px}.item.click{cursor:pointer}.menu-row{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:56px;padding:0 14px;display:flex;align-items:center;gap:12px;cursor:pointer;width:100%;text-align:left;font-size:16px}.menu-row .ic{font-size:22px;width:28px;text-align:center}.menu-row .go{margin-left:auto;color:var(--coffee-600);font-size:20px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#28140a73;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--cream-50);width:100%;max-width:720px;max-height:92vh;overflow-y:auto;border-radius:24px 24px 0 0;padding:0 16px calc(16px + env(safe-area-inset-bottom))}.sheet-head{position:sticky;top:0;background:var(--cream-50);z-index:2;display:flex;align-items:center;gap:8px;padding:14px 0 10px}.sheet-head h2{flex:1;font-size:19px}.sheet-head .x{background:var(--cream-100);border:0;width:44px;height:44px;border-radius:22px;font-size:20px;cursor:pointer}.sheet-foot{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));background:var(--cream-50);padding:12px 0 calc(16px + env(safe-area-inset-bottom));margin-bottom:calc(-16px - env(safe-area-inset-bottom));display:flex;gap:8px;border-top:1px solid var(--line)}.sheet-foot .btn{flex:1}.toast{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translate(-50%);z-index:90;background:var(--coffee-800);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);max-width:calc(100% - 32px);font-size:15px}.toast.err{background:var(--danger)}.empty{text-align:center;color:var(--coffee-600);padding:32px 16px}.empty .big{font-size:40px}.err-box{background:#fbe9e7;color:var(--danger);border-radius:12px;padding:12px;font-size:15px}.banner-alert{background:#fbecd6;color:var(--warning);border-radius:12px;padding:12px;font-weight:600;display:flex;gap:10px;align-items:center}.skel{background:linear-gradient(90deg,var(--cream-100),#fbf5ec,var(--cream-100));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:14px;height:76px}@keyframes sk{to{background-position:-200% 0}}.order{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px;box-shadow:var(--shadow)}.order.new{border:2px solid var(--brand-500)}.order .code{font-weight:700;font-size:17px}.order .lines{display:grid;gap:6px;background:var(--cream-50);border-radius:12px;padding:10px}.order .ln{display:flex;gap:8px}.order .ln .q{font-weight:700;min-width:30px}.order .acts{display:flex;gap:8px;flex-wrap:wrap}.order .acts .btn{flex:1 1 140px}a.tel{color:var(--brand-700);font-weight:600;text-decoration:none}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.kpi .v{font-size:20px;font-weight:700;margin-top:2px;overflow-wrap:anywhere}.kpi.main{grid-column:1 / -1;background:var(--brand-700);color:#fff;border-color:var(--brand-700)}.kpi.main .muted{color:#f4d9dc}.kpi.main .v{font-size:26px}.bars{display:flex;align-items:flex-end;gap:4px;height:140px;padding-top:8px}.bars .b{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}.bars .b i{display:block;width:100%;max-width:28px;background:var(--brand-500);border-radius:4px 4px 0 0;min-height:2px}.bars .b span{font-size:12px;color:var(--coffee-600);white-space:nowrap}.rank{display:grid;gap:8px}.rank .r{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.rank .meter{height:8px;background:var(--cream-100);border-radius:4px;overflow:hidden;margin-top:4px}.rank .meter i{display:block;height:100%;background:var(--caramel)}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login .box{width:100%;max-width:400px;display:grid;gap:14px}.login .logo{width:88px;height:88px;border-radius:50%;margin:0 auto;object-fit:cover}.pw{position:relative}.pw button{position:absolute;right:4px;top:2px;height:44px;min-width:44px;border:0;background:none;color:var(--brand-700);font-weight:600;cursor:pointer}.img-pick{display:flex;gap:12px;align-items:center}.img-pick .prev{width:96px;height:96px;border-radius:12px;background:var(--cream-100);object-fit:cover;display:grid;place-items:center;font-size:30px;flex:none}.img-pick .prev.wide{width:160px;height:80px}.hours{display:grid;gap:8px}.hours .h{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 52px;gap:6px;align-items:center}.hours .h .in{min-height:44px;padding:6px;min-width:0;font-size:16px}.row>.in,.grid2>*,.grid3>*,label.f>*,.in{min-width:0}label.f{grid-template-columns:minmax(0,1fr)}@media (min-width: 560px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
