:root{--primary:#1447e6;--bg:#f6f7f9;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--ok:#15803d;--warn:#b45309;--danger:#b91c1c;--info:#475569}@font-face{font-family:Noto Sans Lao;font-weight:400;src:url(/fonts/noto-sans-lao-400.ttf);font-display:swap}@font-face{font-family:Noto Sans Lao;font-weight:600;src:url(/fonts/noto-sans-lao-600.ttf);font-display:swap}@font-face{font-family:Noto Sans Lao;font-weight:700;src:url(/fonts/noto-sans-lao-700.ttf);font-display:swap}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 Noto Sans Lao,system-ui,sans-serif}.page{max-width:480px;margin:0 auto;padding:0 16px 32px}.shop{background:var(--primary);color:#fff;margin:0 -16px 16px;padding:14px 16px;font-size:18px;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:16px}.card h2{color:var(--muted);margin:0 0 8px;font-size:15px;font-weight:600}.hero{text-align:center}.queue{letter-spacing:4px;color:var(--primary);margin:4px 0 8px;font:700 64px/1.1 ui-monospace,monospace}.badge{color:#fff;background:var(--info);border-radius:999px;padding:2px 12px;font-size:14px;font-weight:600;display:inline-block}.badge.primary{background:var(--primary)}.badge.success{background:var(--ok)}.badge.warning{background:var(--warn)}.badge.danger{background:var(--danger)}.pay{color:var(--warn);margin:12px 0 0;font-weight:600}.pay.ok{color:var(--ok)}.lines{margin:0;padding:0;list-style:none}.lines li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.sums{grid-template-columns:1fr auto;gap:4px 12px;margin:12px 0 0;display:grid}.sums dt,.sums dd{margin:0}.sums dd{text-align:right}.grand{font-size:18px;font-weight:700}.steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.steps li{color:var(--muted);padding-left:22px;position:relative}.steps li:before{content:"";border:2px solid var(--line);border-radius:50%;width:12px;height:12px;position:absolute;top:7px;left:0}.steps li.on{color:var(--text);font-weight:600}.steps li.on:before{background:var(--primary);border-color:var(--primary)}.muted{color:var(--muted)}.center{text-align:center}.mono{font-family:ui-monospace,monospace}.btn{background:var(--primary);color:#fff;font:inherit;border:0;border-radius:12px;margin:12px auto;padding:10px 24px;font-weight:600;display:block}a{color:var(--primary)}
