:root{--bg: #f7f3ee;--surface: #ffffff;--ink: #2c2622;--muted: #8c8178;--line: #e7ded3;--accent: #a9743f;--accent-ink: #ffffff;--danger: #c0492f;--ok: #3f7d4f;--radius: 16px;--shadow: 0 2px 14px rgba(60, 45, 30, .07);--nav-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:15px}img{display:block}.app{min-height:100vh}main.with-nav{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.header{position:sticky;top:0;z-index:20;background:var(--bg);padding:14px 16px 8px}.header h1{margin:0;font-size:22px;font-weight:700;letter-spacing:.3px}.header .sub{color:var(--muted);font-size:13px}.searchbar{display:flex;gap:8px;padding:8px 16px 4px;position:sticky;top:0;z-index:19;background:var(--bg)}.searchbar input{flex:1;padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);outline:none}.searchbar input:focus{border-color:var(--accent)}.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:14px;flex:0 0 auto}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.sortbar{display:flex;gap:8px;overflow-x:auto;padding:0 16px 8px;scrollbar-width:none}.sortbar::-webkit-scrollbar{display:none}.sort{white-space:nowrap;padding:5px 12px;border-radius:999px;font-size:13px;color:var(--muted);flex:0 0 auto}.sort.active{color:var(--accent);font-weight:600}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 16px 16px}.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card .ph{aspect-ratio:1;background:#efe7dc center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#cbbfae;font-size:34px}.card .body{padding:10px 12px 12px}.card .name{font-size:14px;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .price{margin-top:6px;font-weight:700;font-size:15px}.gallery{width:100%;aspect-ratio:1;background:#efe7dc center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:60px;color:#cbbfae}.thumbs{display:flex;gap:8px;padding:10px 16px;overflow-x:auto}.thumbs img,.thumbs .tph{width:56px;height:56px;border-radius:10px;object-fit:cover;border:2px solid transparent;flex:0 0 auto;background:#efe7dc}.thumbs .sel{border-color:var(--accent)}.pcontent{padding:4px 16px 16px}.pcontent h2{margin:6px 0;font-size:20px}.pprice{font-size:22px;font-weight:800;margin:8px 0 4px}.pdesc{color:#5b524a;white-space:pre-wrap;margin:12px 0}.optgroup{margin:16px 0}.optgroup .lbl{font-size:13px;color:var(--muted);margin-bottom:8px}.opts{display:flex;flex-wrap:wrap;gap:8px}.opt{padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:14px}.opt.sel{border-color:var(--accent);background:#f6ecdf;color:var(--accent);font-weight:600}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.stepper button{width:38px;height:38px;font-size:20px;color:var(--accent)}.stepper span{min-width:32px;text-align:center;font-weight:600}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);display:flex;gap:12px;align-items:center}main.with-nav .actionbar{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:41;padding-bottom:12px}.btn{flex:1;padding:14px;border-radius:14px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:16px;text-align:center}.btn:disabled{opacity:.5}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line);flex:0 0 auto}.btn.block{width:100%}.list{padding:8px 16px 16px}.line{display:flex;gap:12px;background:var(--surface);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow);margin-bottom:10px}.line .thumb{width:72px;height:72px;border-radius:12px;object-fit:cover;background:#efe7dc;flex:0 0 auto}.line .meta{flex:1;min-width:0}.line .meta .nm{font-weight:600;font-size:14px}.line .meta .op{color:var(--muted);font-size:13px}.line .meta .pr{margin-top:4px;font-weight:700}.line .right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.del{color:var(--muted);font-size:13px;padding:4px}.summary{padding:4px 16px}.summary .row{display:flex;justify-content:space-between;padding:6px 0}.summary .row.total{font-size:18px;font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.field{margin:14px 16px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input,.field textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);outline:none}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:64px}.radio-list{margin:8px 16px;display:flex;flex-direction:column;gap:8px}.radio{display:flex;align-items:center;gap:10px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.radio.sel{border-color:var(--accent);background:#f6ecdf}.radio .dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto}.radio.sel .dot{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #f6ecdf}.order{background:var(--surface);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin:0 16px 12px}.order .top{display:flex;justify-content:space-between;align-items:center}.order .top .id{font-weight:700}.order .top .date{color:var(--muted);font-size:12px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.new{background:#eef2ff;color:#3954c4}.badge.confirmed{background:#eaf6ee;color:var(--ok)}.badge.delivering{background:#fff3e0;color:#b5710f}.badge.done{background:#e9f3ec;color:var(--ok)}.badge.cancelled{background:#fdecea;color:var(--danger)}.order .items{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.order .it{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:#5b524a}.order .ototal{display:flex;justify-content:space-between;font-weight:700;margin-top:8px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted)}.nav-item.active{color:var(--accent)}.nav-icon{font-size:20px;position:relative}.nav-label{font-size:11px}.nav-badge{position:absolute;top:-6px;right:-12px;min-width:16px;height:16px;padding:0 4px;background:var(--danger);color:#fff;border-radius:999px;font-size:10px;line-height:16px;text-align:center;font-weight:700}.center{text-align:center;padding:60px 24px;color:var(--muted)}.center .emoji{font-size:48px;margin-bottom:12px}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:60px auto}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#efe7dc 25%,#f5efe6,#efe7dc 75%);background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}.linkback{padding:12px 16px 0}.linkback button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);font-size:14px;font-weight:600;transition:background .15s,transform .05s}.linkback button:active{transform:scale(.96);background:var(--bg)}.linkback-ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:14px;line-height:1}.success-icon{font-size:64px}
