:root{color-scheme:dark;--bg: #0E1311;--bg-elev: #161C18;--bg-elev-2: #1F2724;--fg: #F2F4F1;--fg-muted: #9CA39B;--accent: #1F8B3A;--accent-2: #2DBE52;--accent-soft: rgba(31, 139, 58, .18);--danger: #FF5E57;--ok: #2DBE52;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .16);--radius: 16px;--shadow: 0 8px 28px rgba(0, 0, 0, .45);--shadow-soft: 0 4px 16px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 80% -10%,rgba(31,139,58,.1),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(45,190,82,.06),transparent 60%),var(--bg);background-attachment:fixed;color:var(--fg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}.app{min-height:100%;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.ng-header{position:sticky;top:0;z-index:20;background:#0e1311d9;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:12px}.ng-logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px;color:var(--fg)}.ng-logo .mark{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1f8b3a,#0e5a2a);color:#fff;font-weight:800;font-size:14px;box-shadow:0 4px 14px #1f8b3a59,inset 0 1px #ffffff2e}.ng-logo .name{font-size:17px}.ng-logo .name em{font-style:normal;color:var(--accent-2)}.ng-header .ctx{text-align:right;font-size:12px;color:var(--fg-muted)}.ng-header .ctx strong{color:var(--fg);font-weight:600;display:block;font-size:13px}.container{flex:1;padding:16px;max-width:720px;margin:0 auto;width:100%}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-soft)}.card+.card{margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-elev-2);color:var(--fg);font-weight:600;font-size:16px;cursor:pointer;min-height:48px;width:100%;transition:transform 80ms ease,background .12s ease,border-color .12s ease}.btn:active{transform:scale(.985)}.btn-primary{background:linear-gradient(180deg,#1f8b3a,#0e5a2a);color:#fff;border-color:transparent;box-shadow:0 6px 20px #1f8b3a52}.btn-primary:hover{background:linear-gradient(180deg,#2dbe52,#157032)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--fg-muted)}.btn-outline{background:transparent;border:1px solid var(--accent);color:var(--accent-2)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.input{width:100%;padding:14px 16px;background:#ffffff08;border:1px solid var(--line-strong);border-radius:14px;color:var(--fg);font-size:16px;min-height:48px;color-scheme:dark}.input::placeholder{color:var(--fg-muted)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.label{display:block;font-size:13px;color:var(--fg-muted);margin:14px 0 6px}.section-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}.section-tabs::-webkit-scrollbar{display:none}.section-tab{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--line);color:var(--fg-muted);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.section-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}.menu-section{margin-bottom:28px;scroll-margin-top:84px}.menu-section h2{font-size:13px;text-transform:uppercase;letter-spacing:1.2px;color:var(--fg-muted);margin:0 0 12px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:380px){.menu-grid{grid-template-columns:1fr}}.menu-item{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:transform .12s ease,border-color .12s ease}.menu-item:active{transform:scale(.98)}.menu-item:hover{border-color:var(--line-strong)}.menu-item .thumb{width:100%;aspect-ratio:4 / 3;background:var(--bg-elev-2);display:flex;align-items:center;justify-content:center;color:var(--fg-muted);font-size:28px;font-weight:700;letter-spacing:.5px;overflow:hidden}.menu-item .thumb img{width:100%;height:100%;object-fit:cover}.menu-item .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}.menu-item .name{font-weight:600;font-size:14.5px;line-height:1.25;color:var(--fg)}.menu-item .desc{font-size:12px;color:var(--fg-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.menu-item .price{color:var(--accent-2);font-size:14px;font-weight:600;margin-top:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row+.row{margin-top:12px}.row .grow{flex:1}.muted{color:var(--fg-muted);font-size:13px}.danger{color:var(--danger)}.ok{color:var(--ok)}.cart-bar{position:sticky;bottom:0;background:#0e1311eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center;z-index:15}.cart-bar .grow{flex:1}.guest-actions{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:16px;display:flex;flex-direction:column;gap:10px;z-index:30}.guest-actions .fab{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#161c18f2;border:1px solid var(--line-strong);color:var(--fg);font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.guest-actions .fab.accent{color:var(--accent-2);border-color:var(--accent)}.guest-actions .fab:disabled{opacity:.5;cursor:not-allowed}.guest-actions .toast{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-2);padding:10px 14px;border-radius:12px;font-size:13px;font-weight:600}.qty{display:inline-flex;align-items:center;gap:8px;background:var(--bg-elev-2);border-radius:999px;padding:4px}.qty button{width:36px;height:36px;border-radius:999px;border:none;background:var(--bg-elev);color:var(--fg);font-size:18px;cursor:pointer}.qty button:hover{background:var(--accent-soft);color:var(--accent-2)}.qty span{min-width:22px;text-align:center;font-weight:600}.status-pill{display:inline-flex;padding:5px 12px;border-radius:999px;font-size:11px;background:var(--bg-elev-2);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:700}.status-pill.ready{background:var(--accent-soft);color:var(--accent-2)}.status-pill.preparing{background:#ffc40024;color:#ffc400}.status-pill.sent{background:#2dbe5224;color:var(--accent-2)}.footer{text-align:center;padding:24px 16px;color:var(--fg-muted);font-size:11px;letter-spacing:.5px}.footer em{color:var(--accent-2);font-style:normal;font-weight:600}.welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px}.welcome .big-logo{width:64px;height:64px;border-radius:18px;background:linear-gradient(180deg,#1f8b3a,#0e5a2a);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:24px;box-shadow:0 12px 36px #1f8b3a59;margin-bottom:16px}.welcome h1{font-size:22px;margin:4px 0 6px;font-weight:700}.welcome h1 em{font-style:normal;color:var(--accent-2)}.welcome p{color:var(--fg-muted);margin:0 0 16px;max-width:28ch}.welcome .table-chip{display:inline-flex;padding:6px 14px;background:var(--accent-soft);color:var(--accent-2);border:1px solid var(--accent);border-radius:999px;font-size:13px;font-weight:700;margin-bottom:18px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:var(--accent-2);animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
