*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f1115;color:#e6e8ee}.top{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#161922;border-bottom:1px solid #232734;position:-webkit-sticky;position:sticky;top:0;z-index:5}.top b{color:#fff;font-size:18px}.spacer{flex:1 1}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.on{background:#4ade80}.dot.off{background:#ff6b6b}.badge{background:#b45309;color:#fff;border-radius:999px;padding:2px 9px;font-size:13px}button,input,select{font:inherit}.sel{padding:9px 11px;border-radius:10px;border:1px solid #2b3040;background:#1b1f2a;color:#e6e8ee}.layout{display:grid;grid-template-columns:1fr 360px;grid-gap:16px;gap:16px;padding:16px}@media (max-width:820px){.layout{grid-template-columns:1fr}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.prod{background:#1b1f2a;border:1px solid #2b3040;border-radius:14px;padding:16px;text-align:left;cursor:pointer;min-height:92px;color:#e6e8ee}.prod:active{transform:scale(.98)}.prod .nm{font-weight:600;font-size:15px}.prod .pr{color:#6ea8fe;margin-top:8px;font-size:18px;font-weight:700}.prod .kd{font-size:11px;color:#9aa3b2}.cart{background:#161922;border:1px solid #232734;border-radius:14px;padding:16px;position:-webkit-sticky;position:sticky;top:76px;height:-moz-fit-content;height:fit-content}.cart h3{margin:0 0 12px}.ci{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #232734}.ci .nm{flex:1 1;font-size:14px}.qbtn{width:34px;height:34px;border-radius:8px;border:1px solid #2b3040;background:#1b1f2a;color:#fff;font-size:18px;cursor:pointer}.total{display:flex;justify-content:space-between;font-size:22px;font-weight:800;margin:14px 0}.pay{width:100%;padding:16px;border:none;border-radius:12px;background:#16a34a;color:#fff;font-size:18px;font-weight:700;cursor:pointer}.pay:disabled{opacity:.4}.label{font-size:12px;color:#9aa3b2;margin:12px 0 4px}.full{width:100%}.msg{padding:10px 16px}.ok{color:#4ade80}.err{color:#ff6b6b}.login{max-width:360px;margin:80px auto;background:#161922;border:1px solid #232734;border-radius:14px;padding:22px}.login input{width:100%;padding:12px;margin:6px 0;border-radius:10px;border:1px solid #2b3040;background:#1b1f2a;color:#fff}.login button{width:100%;padding:14px;border:none;border-radius:10px;background:#2b6cff;color:#fff;font-size:16px;font-weight:700}.receipt{background:#0c2a16;border:1px solid #16a34a;border-radius:12px;padding:14px;margin-top:12px}