:root{--color-primary:#06f;--color-primary-hover:#0052cc;--color-primary-soft:#e8f0ff;--color-bg:#f8fafc;--color-bg-tint:#f4f7fc;--color-card:#fff;--color-border:#e2e8f0;--color-heading:#0f172a;--color-text:#1e293b;--color-muted:#64748b;--color-success:#15803d;--color-success-bg:#dcfce7;--color-success-border:#bbf7d0;--color-warning:#b45309;--color-warning-bg:#fef3c7;--color-warning-border:#fde68a;--color-info:#1d4ed8;--color-info-bg:#dbeafe;--color-info-border:#bfdbfe;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 4px 20px -2px #0000000d;--shadow-card-hover:0 8px 24px -4px #0f172a14;--font-sans:"Plus Jakarta Sans", "Inter", "Outfit", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{color:var(--color-heading);letter-spacing:-.01em;margin:0;font-weight:800}p{margin:0}button{font-family:inherit}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:14px;font-weight:700;transition:background-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:#fff;padding:10px 18px}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 4px 14px -2px #06f6}.btn-sm{border-radius:var(--radius-sm);padding:7px 14px;font-size:13px}.btn-warning{color:#fff;background:#f59e0b;padding:8px 14px}.btn-warning:hover{background:#d97706}.btn-success{color:#fff;background:#10b981;padding:8px 14px}.btn-success:hover{background:#059669}.btn-outline{color:var(--color-text);border:1px solid var(--color-border);background:#fff;border-radius:8px;width:30px;height:30px;padding:0;font-size:16px}.btn-outline:hover{background:var(--color-bg-tint);border-color:#cbd5e1}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.badge-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.app-shell{background:var(--color-bg);min-height:100vh;padding:20px}.app-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;max-width:1280px;margin:0 auto;display:grid}.app-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto}@media (width<=860px){.app-grid{grid-template-columns:1fr}.app-panel{max-height:none}}@media (width<=480px){.app-shell{padding:12px}.app-grid{gap:12px}.app-panel{border-radius:var(--radius-md);padding:16px}}.menu{max-width:640px;margin:0 auto;padding-bottom:12px}.menu-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.menu-header h1{font-size:22px}.menu-table-badge{background:var(--color-primary-soft);color:var(--color-primary);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.menu-loading,.menu-empty{color:var(--color-muted);padding:24px 0;font-size:14px}.menu-category{margin-bottom:28px}.menu-category-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:12px;font-size:15px;font-weight:700}.menu-products{flex-direction:column;gap:12px;display:flex}.product-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:16px;transition:box-shadow .15s,transform .15s;display:flex}.product-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.product-info{min-width:0}.product-name{color:var(--color-heading);font-size:15px;font-weight:700}.product-desc{color:var(--color-muted);margin-top:4px;font-size:13px;line-height:1.4}.product-price{color:var(--color-heading);margin-top:8px;font-size:15px;font-weight:800}.product-card .btn-primary{flex-shrink:0}.cart-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-hover);margin-top:8px;padding:18px;position:sticky;bottom:12px}.cart-title{margin-bottom:12px;font-size:16px}.cart-items{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.cart-item{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.cart-item-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.cart-item-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.cart-item-controls b{text-align:right;min-width:64px;color:var(--color-heading)}.cart-divider{border:none;border-top:1px solid var(--color-border);margin:12px 0}.cart-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.cart-total{color:var(--color-heading);font-size:16px}.cart-total span{color:var(--color-primary)}.kitchen{max-width:640px;margin:0 auto}.kitchen-header{align-items:center;gap:10px;margin-bottom:24px;display:flex}.kitchen-header h2{font-size:22px}.kitchen-empty{color:var(--color-muted);padding:24px 0;font-size:14px}.order-list{flex-direction:column;gap:14px;display:flex}.order-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;transition:box-shadow .15s}.order-card:hover{box-shadow:var(--shadow-card-hover)}.order-card.is-preparing{border-color:var(--color-warning-border);background:linear-gradient(#fffdf5,#fffdf5)}.order-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.order-table{color:var(--color-heading);font-size:15px;font-weight:800}.order-items{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.order-items li{color:var(--color-text);gap:6px;font-size:14px;display:flex}.order-items li b{color:var(--color-heading);font-weight:700}.order-actions{gap:8px;margin-top:14px;display:flex}
