:root{--green: #21ba53;--green-d: #1aa548;--red: #d11016;--bg: #f4f6f8;--card: #fff;--line: #e6e9ee;--text: #1f2733;--muted: #8a95a3;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-user-select:none;user-select:none}button{font-family:inherit;cursor:pointer}.k-fatal{display:grid;place-items:center;height:100%;color:var(--muted);font-size:22px}.k-attract{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:linear-gradient(160deg,#21ba53,#158a3c);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.k-attract-brand{font-size:68px;font-weight:800;letter-spacing:-1px}.k-attract-brand b{color:#eafff0}.k-attract-store{font-size:30px;opacity:.95}.k-attract-cta{margin-top:40px;font-size:30px;font-weight:700;padding:20px 48px;border:3px solid #fff;border-radius:999px;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.kiosk,.k-cartpage{height:100%;display:flex;flex-direction:column}.k-head{display:flex;align-items:center;gap:16px;background:var(--card);border-bottom:1px solid var(--line);padding:16px 22px}.k-brand{font-size:26px;font-weight:800;letter-spacing:-.5px}.k-brand b{color:var(--green)}.k-store{color:var(--muted);font-size:18px}.k-cartbtn{margin-left:auto;background:var(--green);color:#fff;border:0;border-radius:999px;padding:14px 24px;font-size:20px;font-weight:700}.k-body{flex:1;display:grid;grid-template-columns:240px 1fr;min-height:0}.k-cats{background:var(--card);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}.k-cats button{background:none;border:0;border-left:5px solid transparent;padding:22px 20px;text-align:left;font-size:20px;color:var(--text)}.k-cats button.on{border-left-color:var(--green);background:#e7f7ec;color:var(--green-d);font-weight:700}.k-grid{overflow-y:auto;padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:min-content;gap:18px;align-content:start}.k-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:8px}.k-card:active{transform:scale(.97)}.k-thumb{width:92px;height:92px;border-radius:14px;background:#eef1f4;display:grid;place-items:center;font-size:44px}.k-name{font-size:19px;font-weight:600;text-align:center}.k-price{color:var(--green-d);font-size:18px;font-weight:700}.k-empty{color:var(--muted);font-size:20px;padding:40px;grid-column:1/-1;text-align:center}.k-modalbg{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e2880;display:flex;align-items:flex-end;justify-content:center;z-index:20}.k-modal{background:#fff;width:100%;max-width:640px;max-height:92%;border-radius:22px 22px 0 0;display:flex;flex-direction:column}.k-modal-head{display:flex;align-items:center;padding:22px 24px 8px}.k-modal-head h2{margin:0;font-size:26px}.k-x{margin-left:auto;background:#eef1f4;border:0;width:44px;height:44px;border-radius:50%;font-size:26px}.k-modal-body{overflow-y:auto;padding:8px 24px}.k-modal-body section{margin-bottom:18px}.k-modal-body h3{font-size:18px;margin:12px 0 10px;display:flex;align-items:center;gap:10px}.k-req{background:#fdecec;color:var(--red);font-size:12px;padding:2px 8px;border-radius:999px;text-transform:uppercase}.k-hint{color:var(--muted);font-size:14px;font-weight:400}.k-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.k-opt{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:2px solid var(--line);border-radius:14px;padding:18px;font-size:18px}.k-opt.on{border-color:var(--green);background:#e7f7ec}.k-opt b{color:var(--green-d)}.k-add{margin:12px 24px 24px;background:var(--green);color:#fff;border:0;border-radius:16px;padding:22px;font-size:22px;font-weight:800}.k-add:disabled{background:#c7cdd4}.k-back{background:#eef1f4;border:0;border-radius:999px;padding:12px 22px;font-size:18px}.k-cartlist{flex:1;overflow-y:auto;padding:16px 22px}.k-line{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.k-line-main{flex:1}.k-line-name{font-size:19px;font-weight:600}.k-line-mods{color:var(--muted);font-size:15px;margin-top:3px}.k-qty{display:flex;align-items:center;gap:14px}.k-qty button{width:48px;height:48px;border-radius:50%;border:2px solid var(--line);background:#fff;font-size:26px;line-height:1}.k-qty span{font-size:20px;min-width:24px;text-align:center}.k-line-price{font-size:19px;font-weight:700;min-width:84px;text-align:right}.k-checkout{background:var(--card);border-top:1px solid var(--line);padding:18px 22px 24px}.k-ordertype{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.k-ordertype button{padding:18px;border:2px solid var(--line);background:#fff;border-radius:14px;font-size:20px}.k-ordertype button.on{border-color:var(--green);background:#e7f7ec;color:var(--green-d);font-weight:700}.k-totrow{display:flex;justify-content:space-between;font-size:26px;font-weight:800;margin-bottom:16px}.k-pay{width:100%;background:var(--green);color:#fff;border:0;border-radius:16px;padding:24px;font-size:24px;font-weight:800}.k-pay:disabled{background:#c7cdd4}.k-pay-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px}.k-pay-screen h1{font-size:34px;margin:0}.k-pay-screen p{font-size:20px;color:var(--text);margin:4px 0}.k-pay-screen .k-muted{color:var(--muted)}.k-pay-screen.ok{background:linear-gradient(160deg,#21ba53,#158a3c);color:#fff}.k-pay-screen.ok p{color:#eafff0}.k-orderno{font-weight:700}.k-big{width:120px;height:120px;border-radius:50%;background:#fff;color:var(--green);font-size:72px;display:grid;place-items:center;box-shadow:0 8px 30px #0000001f}.k-big.warn{background:#fdecec;color:var(--red)}.k-secondary{margin-top:20px;background:#fff3;color:#fff;border:2px solid #fff;border-radius:999px;padding:16px 40px;font-size:20px}.k-spinner{width:84px;height:84px;border-radius:50%;border:8px solid #e6e9ee;border-top-color:var(--green);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.k-body{grid-template-columns:120px 1fr}.k-cats button{font-size:16px;padding:18px 12px}.k-opts{grid-template-columns:1fr}}
