:root{color-scheme:light;--paper: #eef1f4;--surface: #ffffff;--surface2: #e3e8ec;--ink: #15222c;--ink-soft: #5b6b77;--line: #d3dae0;--navy: #0f2f45;--navy-ink: #e8f1f7;--navy-soft: #9db4c4;--accent: #0e7fae;--accent-ink: #ffffff;--ok: #1e9e5a;--ok-ink: #ffffff;--danger: #d33131;--danger-ink: #fff;--warn: #e08a00;--shadow: 0 8px 28px rgba(15, 47, 69, .18)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.device{height:100%;max-width:520px;margin:0 auto;background:var(--paper);overflow:hidden;position:relative;display:flex;flex-direction:column}.appbar{background:var(--navy);color:var(--navy-ink);padding:10px 14px;display:flex;align-items:center;gap:10px;flex:0 0 auto}.appbar .who{min-width:0}.appbar .who b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar .who span{font-size:12px;color:var(--navy-soft)}.appbar .spacer{flex:1}.stat{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--navy-soft)}.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.bad{background:var(--danger);box-shadow:0 0 6px var(--danger)}.qbadge{background:var(--warn);color:#fff;border-radius:9px;padding:0 7px;font-size:11px;font-weight:800}.iconbtn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#ffffff14;font-size:17px}.custzone{flex:0 0 auto;padding:0 10px}.custbanner{margin-top:8px;border-radius:14px;padding:10px 14px;display:flex;gap:12px;align-items:center;cursor:pointer;width:100%;text-align:left}.custbanner .big{font-size:19px;font-weight:800}.custbanner small{display:block;font-size:12px;opacity:.85}.custbanner.guthaben{background:var(--accent);color:var(--accent-ink)}.custbanner.zeitok{background:var(--ok);color:var(--ok-ink)}.custbanner.zeitbad{background:var(--danger);color:var(--danger-ink)}.custbanner .rides{margin-left:auto;background:#00000047;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.prodwrap{flex:1 1 auto;overflow-y:auto;padding:10px;scrollbar-width:thin}.pagehint{display:flex;justify-content:space-between;align-items:baseline;margin:2px 2px 8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tile{position:relative;border-radius:14px;min-height:84px;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;font-weight:700;font-size:16px;text-align:left;line-height:1.2;box-shadow:0 1px 3px #00000026}.tile:active{transform:scale(.97)}.tile .ic{font-size:22px}.tile .price{font-size:13px;font-weight:600;opacity:.85}.tile.half{min-height:60px}.badge{position:absolute;top:-6px;right:-6px;min-width:26px;height:26px;padding:0 7px;border-radius:13px;background:var(--danger);color:#fff;font-size:14px;font-weight:800;display:grid;place-items:center;box-shadow:0 2px 6px #0000004d}.gridmsg{grid-column:1 / -1;text-align:center;color:var(--ink-soft);padding:30px 10px}.actionrow{flex:0 0 auto;display:flex;gap:8px;padding:10px;background:var(--surface);border-top:1px solid var(--line);align-items:stretch}.abtn{border-radius:12px;font-weight:800;font-size:18px;padding:0 14px;min-height:58px;background:var(--surface2)}.abtn.toggleon{background:var(--accent);color:var(--accent-ink)}.chip{border-radius:12px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px;padding:0 12px;display:flex;align-items:center}.sum{flex:1;border-radius:12px;background:var(--ok);color:var(--ok-ink);font-weight:800;font-size:24px;display:flex;align-items:center;justify-content:center;gap:8px}.sum small{font-size:13px;font-weight:600;opacity:.9}.footer{flex:0 0 auto;display:flex;background:var(--navy)}.footer button{flex:1;color:var(--navy-ink);font-size:24px;padding:12px 0}.footer button:active{background:#ffffff1a}.scrim{position:absolute;inset:0;background:#0a141c80;z-index:20}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:88%;overflow-y:auto;background:var(--surface);border-radius:20px 20px 0 0;z-index:21;padding:16px 16px 20px;box-shadow:var(--shadow)}.sheet h3{margin:2px 0 12px;font-size:19px}.sheet .grab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 12px}.paybtn{width:100%;border-radius:14px;min-height:64px;font-size:18px;font-weight:800;margin-bottom:8px;padding:8px 14px}.paybtn.bar{background:var(--ok);color:var(--ok-ink);min-height:84px;font-size:21px}.paybtn.ec{background:var(--accent);color:var(--accent-ink)}.paybtn.ghost{background:var(--surface2)}.paybtn.gh{background:var(--navy);color:var(--navy-ink)}.paybtn:disabled{opacity:.5;cursor:default}.carttab{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:15px}.carttab td{padding:7px 4px;border-bottom:1px solid var(--line)}.carttab td:nth-child(2){text-align:center;color:var(--ink-soft)}.carttab td:last-child{text-align:right}.carttab tr.total td{border-top:2px solid var(--ink);border-bottom:0;font-weight:800;font-size:18px}.hint{background:var(--surface2);border-radius:12px;padding:10px 14px;font-size:14px;color:var(--ink-soft);margin-bottom:10px}.hint b{color:var(--ink)}.errbox{background:var(--danger);color:var(--danger-ink);border-radius:12px;padding:10px 14px;font-size:14px;font-weight:700;margin-bottom:10px}.field{display:block;margin-bottom:10px}.field span{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:4px}.field input{width:100%;padding:12px;font-size:17px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.tick{border-bottom:1px solid var(--line);padding:10px 2px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:14px}.tick .when{color:var(--ink-soft);font-size:12px}.tick .amt{font-weight:800;text-align:right}.tick .tag{display:inline-block;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700;margin-left:6px}.tag.gh{background:var(--navy);color:var(--navy-ink)}.tag.storno{background:var(--danger);color:#fff}.tickbtns{grid-column:1 / -1;display:flex;gap:8px}.minibtn{border-radius:9px;padding:7px 13px;font-size:13px;font-weight:700;background:var(--surface2)}.minibtn.red{background:var(--danger);color:#fff}.topuprow{display:flex;gap:8px;margin-bottom:10px}.topuprow .paybtn{margin-bottom:0}.loginwrap{height:100%;display:flex;flex-direction:column;background:var(--paper)}.loginhead{background:var(--navy);color:var(--navy-ink);padding:26px 20px}.loginhead h1{margin:0;font-size:22px}.loginhead p{margin:4px 0 0;color:var(--navy-soft);font-size:13px}.loginform{padding:20px;max-width:430px;width:100%;margin:0 auto}
