*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0b0f1a;color:#f5f5f5;-webkit-user-select:none;user-select:none;overflow:hidden}button{font-family:inherit;border:none;background:transparent;color:inherit;cursor:pointer}.app.kiosk,.app.kiosk *,.app.kiosk button{cursor:none!important}.app{height:100vh;display:flex;flex-direction:column;position:relative}.env-tag{position:fixed;top:12px;right:16px;z-index:999;padding:4px 10px;background:#ffa50040;border:1px solid #ffa500;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:1px;color:orange}.idle{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:32px;background:linear-gradient(180deg,#0b0f1a,#131a2a)}.idle h1{font-size:64px;font-weight:800;letter-spacing:-2px}.idle .hint{font-size:28px;opacity:.7;text-align:center}.idle .scanner-anim{font-size:120px;animation:pulse 1.8s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.cart-layout{flex:1;display:grid;grid-template-columns:1fr 380px;gap:16px;padding:16px;overflow:hidden}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;overflow-y:auto;padding:4px}.product-card{background:#131a2a;border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .1s}.product-card:active{transform:scale(.96);background:#1f2740}.product-card .emoji{font-size:56px}.product-card .pname{font-size:14px;opacity:.85;text-align:center;min-height:36px}.product-card .pprice{font-size:18px;font-weight:700;color:#4caf50}.cart-side{background:#131a2a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.cart-side header{padding:18px;border-bottom:1px solid #1f2740}.cart-side header h2{font-size:20px;opacity:.7}.cart-side .items{flex:1;overflow-y:auto;padding:12px}.cart-side .item{display:flex;align-items:center;padding:12px 4px;border-bottom:1px solid #1f2740;font-size:16px;animation:slideIn .25s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.cart-side .item .name{flex:1}.cart-side .item .price{font-weight:700;margin-right:12px}.cart-side .item .remove{width:40px;height:40px;border-radius:50%;background:#2a1f1f;color:#ff6b6b;font-size:22px;display:flex;align-items:center;justify-content:center}.cart-side .empty{padding:32px;text-align:center;opacity:.5;font-size:16px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.cart-side .empty .emoji-big{font-size:64px;opacity:.6}.error-block{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;text-align:center;opacity:.7}.error-block .emoji-big{font-size:64px}.error-block .small{font-size:12px;opacity:.6;font-family:monospace;max-width:80%}.btn-retry{padding:12px 24px;background:#1f2740;border-radius:8px;margin-top:12px}.cart-side .btn-cancel:disabled,.cart-side .btn-pay:disabled{opacity:.3}.cart-side footer{padding:16px;border-top:1px solid #1f2740}.cart-side .total{font-size:32px;font-weight:800;margin-bottom:12px;text-align:right}.cart-side .actions{display:flex;gap:8px}.cart-side .btn-cancel{flex:0 0 auto;padding:16px 20px;background:#1f2740;border-radius:10px;font-size:16px}.cart-side .btn-pay{flex:1;padding:16px 20px;font-size:18px;font-weight:700;background:#2e7d32;border-radius:10px}.cart-side .btn-pay:disabled{opacity:.3}.choose{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;padding:32px}.choose .amount{font-size:42px;font-weight:800}.choose .methods{display:grid;grid-template-columns:1fr 1fr;gap:24px}.choose .method{width:280px;height:240px;background:#131a2a;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:28px;font-weight:700;transition:transform .1s}.choose .method:active{transform:scale(.96)}.choose .method.card{border:2px solid #2196f3}.choose .method.sbp{border:2px solid #4caf50}.choose .method .emoji{font-size:96px}.choose .back{padding:16px 24px;font-size:16px;opacity:.6}.payment{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:24px}.payment h2{font-size:28px;font-weight:700}.payment .qr{background:#fff;padding:16px;border-radius:16px}.payment .qr img{display:block}.payment .amount{font-size:48px;font-weight:800;color:#4caf50}.payment .status{font-size:18px;opacity:.7}.payment .cancel{padding:12px 24px;font-size:16px;background:#2a1f1f;border-radius:10px}.mock-buttons{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.mock-buttons button{padding:16px 24px;font-size:18px;font-weight:600;border-radius:12px;min-width:180px}.mock-buttons .ok{background:#2e7d32;color:#fff}.mock-buttons .bad{background:#6a1b1b;color:#ffd0d0}.result{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.result .icon{font-size:140px}.result.success .icon{color:#4caf50}.result.fail .icon{color:#ff6b6b}.result h2{font-size:40px}.result .sub{font-size:18px;opacity:.6}.receipt-preview{font-family:Courier New,monospace;background:#fff;color:#000;padding:16px;border-radius:8px;font-size:12px;line-height:1.4;max-width:380px;white-space:pre-wrap;text-align:left;margin-top:12px}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);padding:20px 32px;background:#2a1f1f;border-radius:12px;font-size:22px;border:2px solid #ff6b6b;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}
