:root{--bg: #fafafa;--surface: #ffffff;--text: #1a1a1a;--muted: #666666;--border: #e5e5e5;--accent: #e8590c;--accent-hover: #d24e0a;--success: #2b8a3e;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:16px}.layout{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.header{padding:16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header h1{margin:0;font-size:18px;font-weight:700;letter-spacing:-.2px}.header small{color:var(--muted);font-size:12px}.content{flex:1;padding:12px 16px 120px}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{white-space:nowrap;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;font-weight:500}.category-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.menu-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 480px){.menu-grid{grid-template-columns:1fr 1fr}}.menu-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.menu-card h3{margin:0;font-size:16px;font-weight:600}.menu-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.35}.menu-card .price{font-weight:700;font-size:16px;color:var(--text)}.menu-card .actions{display:flex;align-items:center;gap:8px;margin-top:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:transform .05s ease,opacity .15s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-small{padding:6px 10px;font-size:13px}.cart-bar{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:20;box-shadow:0 -4px 12px #0000000f}.cart-bar .info{display:flex;flex-direction:column}.cart-bar .total{font-weight:700;font-size:16px}.cart-bar .count{font-size:12px;color:var(--muted)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group label{font-size:13px;font-weight:600;color:var(--muted)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.order-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.order-item:last-child{border-bottom:none}.empty{text-align:center;color:var(--muted);padding:40px 16px}.success-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;box-shadow:var(--shadow)}.success-card h2{margin:0 0 8px;color:var(--success)}.success-card .order-number{font-weight:700;font-size:18px;margin:8px 0}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#c92a2a;background:#fff5f5;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:12px}
