@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f2f3f7;--card: #ffffff;--text: #111318;--muted: #6b7180;--faint: #a3a8b4;--border: #d4d7de;--border-strong: #9ea3ad;--field: #ffffff;--on-accent: #ffffff;--disabled-bg: #e3e5ea;--disabled-text: var(--faint);--danger: #d93a3a;--success: #1f9d55;--merchant: #135a8a;--customer: #12897f;--accent: #3b4250;--code-1: #e04848;--code-2: #22a05a;--code-3: #2f64b6;--code-4: #e8b323;--scanner-bg: #d9d9d9;--scanner-bracket: #000;--radius: 12px;--radius-sm: 8px;--column: 392px;--shadow: 0 1px 2px rgb(16 24 40 / 4%), 0 4px 16px rgb(16 24 40 / 6%);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0;background:var(--bg)}button,input,textarea{font:inherit;color:inherit}.page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.card{width:100%;max-width:560px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 56px;display:flex;flex-direction:column}.card[data-role=merchant]{--accent: var(--merchant)}.card[data-role=customer]{--accent: var(--customer)}.footer{color:var(--faint);font-size:14px}@media(max-width:520px){.page{justify-content:flex-start;padding-top:max(16px,env(safe-area-inset-top))}.card{padding:24px 20px}}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.role-badge{display:flex;align-items:center;gap:14px;font-size:22px}.role-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--on-accent);background:var(--accent);flex-shrink:0}.back{display:inline-flex;align-items:center;gap:6px;padding:8px 4px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}.back:hover{color:var(--text)}.title{margin:0 0 12px;font-size:30px;font-weight:400;line-height:1.2}.subtitle{margin:0 0 28px;color:var(--muted);font-size:15px;line-height:1.35}.brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:44px;text-align:center}.brand-logo{margin:0;width:min(320px,100%);height:72px}.brand-logo button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.brand-tagline{margin:0;font-size:16px}.section-label{margin:0 0 14px;text-align:center;font-size:16px}.stack{display:flex;flex-direction:column;gap:16px;width:100%;max-width:var(--column);margin:0 auto}.role-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;max-width:var(--column);margin:0 auto 64px}.role-button{--tone: var(--merchant);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:60px;border-radius:var(--radius-sm);border:2px solid var(--tone);background:var(--field);color:var(--tone);font-size:19px;cursor:pointer;transition:background .15s,color .15s}.role-button[data-role=customer]{--tone: var(--customer)}.role-button[aria-pressed=true]{background:var(--tone);color:var(--on-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:80px;padding:0 24px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-size:24px;cursor:pointer;transition:filter .15s,background .15s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.btn-compact{min-height:56px;font-size:18px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--field);font-size:15px;cursor:pointer}.chip:hover{border-color:var(--border-strong)}@media(max-width:520px){.btn{min-height:60px;font-size:20px}.role-row{gap:12px;margin-bottom:40px}}.field{display:flex;flex-direction:column;border:2px solid var(--border-strong);border-radius:var(--radius);background:var(--field)}.field:focus-within{border-color:var(--accent)}.field textarea{display:block;width:100%;min-height:190px;padding:24px 24px 8px;border:0;outline:none;resize:vertical;background:transparent;font-size:15px;line-height:1.45}.field textarea::placeholder{color:var(--muted)}.field-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px}.input{width:100%;min-height:52px;padding:0 16px;border:2px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;background:var(--field);font-size:16px}.input:focus{border-color:var(--accent)}.field-hint{margin:8px 0 0;color:var(--muted);font-size:13px}.spacer{height:56px}.field-gap{margin-top:16px}.stack-gap{margin-top:20px}.code-panel[data-expired=true]{opacity:.35}@media(max-width:520px){.field textarea{min-height:150px}.title{font-size:26px}.spacer{height:32px}}.error{margin:14px 0 0;color:var(--danger);font-size:15px;text-align:center}.note{margin:12px 0 0;color:var(--muted);font-size:14px;text-align:center}.status{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;color:var(--muted);font-size:16px}.status[data-tone=success]{color:var(--success)}.status[data-tone=danger]{color:var(--danger)}.spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.code-caption{margin:0 0 18px;color:var(--muted);text-align:center;font-size:16px}.code-groups{display:flex;justify-content:center;gap:14px}.code-group{display:flex;flex-direction:column;gap:12px;width:82px}.code-group:after{content:"";height:7px;border-radius:4px;background:var(--bar)}.code-box{width:100%;height:82px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--field);display:grid;place-items:center;font-size:46px;font-variant-numeric:tabular-nums;text-align:center}input.code-box{padding:0;outline:none;caret-color:var(--text)}input.code-box:focus{border-color:var(--accent)}.code-groups[data-invalid=true] .code-box{border-color:var(--danger)}@media(max-width:520px){.code-groups{gap:10px}.code-group{width:min(72px,20vw)}.code-box{height:min(72px,20vw);font-size:min(38px,10vw)}}.qr{display:block;width:264px;max-width:70vw;height:auto;aspect-ratio:1;margin:0 auto 24px;image-rendering:pixelated}.qr-message{display:grid;place-items:center;padding:24px;border:2px dashed var(--border);border-radius:var(--radius);color:var(--muted);font-size:15px;text-align:center}.camera{position:relative;width:min(254px,100% - 12px);aspect-ratio:1;margin:8px auto 40px}.camera-view{position:absolute;inset:0;overflow:hidden;border-radius:23px;background:var(--scanner-bg);outline:4px solid var(--scanner-bg);outline-offset:-2px}.camera video{width:100%;height:100%;object-fit:cover}.camera-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:var(--scanner-bracket);stroke-width:11;stroke-linecap:round}.camera-message{position:absolute;inset:50% 28px auto;transform:translateY(-50%);margin:0;padding:8px 12px;border-radius:var(--radius-sm);background:#ffffffe5;color:var(--muted);font-size:13px;text-align:center}.content-box{min-height:248px;max-height:50dvh;overflow:auto;padding:24px;border:2px solid var(--border-strong);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.45}.content-box[data-empty=true]{color:var(--muted);font-style:italic}.peer{margin:14px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
