*{margin:0;padding:0;box-sizing:border-box}:root{--brand: #485fc7;--brand-dark: #3a4da3;--ink: #222;--muted: #777;--line: #e5e5e5;--bg: #f7f7f9}html{color-scheme:light only}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.page{max-width:560px;margin:0 auto;padding:16px 16px 96px}.header{text-align:center;padding:12px 0 4px}.header .restaurant{font-size:1.35rem;font-weight:700}.header .table{color:var(--muted);font-size:.9rem}.category{margin-top:20px}.category>h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-dark);border-bottom:2px solid var(--brand);padding-bottom:4px;margin-bottom:8px}.item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}.item .info{flex:1;min-width:0}.item .name{font-weight:600}.item .desc{font-size:.8rem;color:var(--muted)}.item .price{white-space:nowrap;font-weight:600}.stepper{display:flex;align-items:center;gap:6px}.stepper button{width:34px;height:34px;border:1px solid var(--brand);background:#fff;color:var(--brand);border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer}.stepper button.add{background:var(--brand);color:#fff}.stepper .qty{min-width:20px;text-align:center;font-weight:700}.cart-bar{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -2px 10px #0000000f}.cart-bar .inner{max-width:560px;margin:0 auto}.btn{display:block;width:100%;padding:13px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.btn:disabled{opacity:.6}.btn.light{background:#eee;color:var(--ink)}.btn+.btn{margin-top:8px}.basket-line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.basket-line .info{flex:1}.basket-line .line-total{font-weight:600;white-space:nowrap}.note-input,.line-note{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;margin-top:10px;background:#fff}.total-row{display:flex;justify-content:space-between;font-size:1.1rem;font-weight:700;padding:14px 0}.screen-title{font-size:1.2rem;font-weight:700;margin:16px 0 8px}.status-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center;margin-top:24px}.status-card .emoji{font-size:2.2rem}.status-card .status{font-size:1.15rem;font-weight:700;margin-top:6px}.status-card .hint{color:var(--muted);font-size:.85rem;margin-top:4px}.summary{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.summary .row{display:flex;justify-content:space-between;padding:4px 0;font-size:.95rem}.summary .row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:700}.message{margin-top:40px;text-align:center;color:var(--muted);padding:0 20px}.error{margin:16px 0;background:#fdecec;color:#b01c2e;border:1px solid #f5c2c7;border-radius:10px;padding:12px;font-size:.9rem}.spinner{margin:60px auto;width:36px;height:36px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
