:root{--ink:#172e25;--muted:#738178;--green:#138547;--line:#e7ede8;--bg:#f7f8f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:15px}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}.shell{max-width:520px;margin:40px auto;position:relative}.hero{overflow:hidden;position:relative;padding:25px 28px 54px;background:linear-gradient(118deg,#135e53 0%,#128552 50%,#56ad63 100%);color:#fff;border-radius:28px 28px 0 0}.hero-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.brand{font-size:17px;font-weight:800;letter-spacing:-.3px}.secure{font-size:12px;opacity:.85}.amount-label{font-size:13px;opacity:.8;margin:29px 0 7px}.amount{font-size:42px;font-weight:650;letter-spacing:-1.8px;position:relative;z-index:1}.order{font-size:13px;opacity:.9;margin:10px 0 0;position:relative;z-index:1;overflow-wrap:anywhere}.hero-ring{position:absolute;width:280px;height:280px;border:32px solid #ffffff0a;border-radius:50%;pointer-events:none;right:-170px;top:-30px}.ring-two{right:-140px;top:-60px;border-width:2px;width:360px;height:360px}.sheet{background:#fdfdfb;border-radius:30px;margin-top:-28px;position:relative;z-index:2;padding:27px 24px 20px;box-shadow:0 12px 42px #1636270a}.section-heading{margin-bottom:23px}h1{font-size:23px;letter-spacing:-.5px;line-height:1.25;margin:0 0 9px}p{line-height:1.5}.section-heading p{font-size:14px;color:var(--muted);margin:0}.overline{font-size:11px;font-weight:650;letter-spacing:1.2px;color:var(--muted);margin:19px 0 10px}.bank-list{display:grid;gap:11px}.bank-button{border:1px solid #e9ece8;background:#fff;border-radius:17px;box-shadow:0 3px 8px #19382608;padding:17px 16px;width:100%;display:flex;align-items:center;gap:16px;text-align:left;color:var(--ink);min-height:80px;transition:border-color .15s,transform .15s}.bank-button:hover{border-color:#91c5a6;transform:translateY(-1px)}.bank-button:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7ecea0;outline-offset:3px}.bank-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.bank-logo{width:40px;height:40px;object-fit:contain;border-radius:9px;flex-shrink:0}.bank-text{flex:1;min-width:0}.bank-name{font-size:17px;font-weight:550;display:block;line-height:1.3}.bank-caption{font-size:12px;color:var(--muted);display:block;margin-top:5px}.chevron{width:9px;height:9px;border-right:2px solid #486252;border-top:2px solid #486252;transform:rotate(45deg);margin-right:5px;flex-shrink:0}.hint{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:12px;margin:20px 0 8px}.hint p{margin:0}.hint>span{font-size:17px}.primary,.secondary{display:block;width:100%;text-align:center;text-decoration:none;border-radius:14px;padding:17px 16px;font-weight:650;font-size:16px;border:0;line-height:1.25}.primary{background:var(--green);color:#fff;box-shadow:0 4px 12px #158a4720;margin-top:20px}.primary:hover{background:#0c773c}.secondary{background:#eef5ef;color:#1c663e;margin-top:10px}.selected-bank{display:flex;align-items:center;gap:15px;margin-bottom:17px}.selected-bank img{object-fit:contain;border-radius:11px}.selected-bank h1{font-size:21px;margin:0 0 5px}.selected-bank p{font-size:12px;margin:0}.payment-lead{color:var(--muted);font-size:13px;margin:17px 0}.requisites{border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden}.requisite{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;flex-wrap:wrap}.requisite+ .requisite{border-top:1px solid #f0f3ef}.requisite>span,.requisite div>span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.requisite>strong,.requisite div>strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere}.copy{padding:8px 0 8px 6px;border:0;background:none;color:var(--green);font-size:12px;font-weight:650}.copy:hover{text-decoration:underline}details{margin-top:17px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:13px;padding:15px}summary{cursor:pointer;font-weight:550;font-size:14px}details ol{padding-left:21px;line-height:1.7}details li{margin:6px 0}.waiting{display:flex;gap:9px;justify-content:center;align-items:center;color:#567464;font-size:13px;margin:24px 0 5px}.pulse{width:7px;height:7px;background:#79b68f;border-radius:50%;animation:pulse 1.8s infinite}@keyframes pulse{50%{opacity:.4}}.text-button{padding:8px 2px;background:none;border:0;color:var(--green);font-size:13px;font-weight:600}.text-button:hover{text-decoration:underline}#check{display:block;margin:auto}.muted{color:var(--muted)}.fine{font-size:11px;text-align:center;line-height:1.6;margin:12px 7px}.notice{border-radius:13px;background:#fff1ee;color:#943b2c;font-size:13px;line-height:1.5;padding:13px 15px;margin-bottom:20px}.warning{background:#fff7df;color:#785d13}.qr-panel{display:flex;gap:16px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px;align-items:center}.qr-panel img,.qr-panel canvas{display:block;max-width:120px}.qr-panel strong{font-size:13px}.qr-panel p{font-size:12px;color:var(--muted);margin:7px 0 0}.qr-panel .text-button{font-size:12px}footer{margin-top:25px;border-top:1px solid #edf0ea;padding-top:17px;text-align:center;font-size:10px;color:#92a095}footer p{margin:10px 0 0}footer #expiry{font-size:11px}.result{text-align:center;padding:22px 4px 40px}.result-icon{margin:0 auto 22px;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;background:#e5f6e9;color:var(--green);font-size:36px}.result p{font-size:14px;color:var(--muted)}label{display:block;font-size:13px;font-weight:550;margin:16px 0 9px}input{width:100%;border:1px solid #dce6dd;background:white;border-radius:13px;padding:14px;font:inherit;font-size:17px;color:var(--ink);outline:0}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #d8eee0}.launcher-note{font-size:12px;line-height:1.6;margin:19px 0}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#203d2e;color:white;padding:12px 20px;border-radius:30px;font-size:13px;z-index:9;max-width:90vw;text-align:center}.alternates{display:grid;gap:9px}.alternates a{color:var(--green);font-size:12px;padding:8px;text-decoration:none;border:1px solid var(--line);border-radius:9px}.result-icon.failed{background:#fff1ee;color:#a44a38}@media(max-width:600px){body{background:#fdfdfb}.shell{margin:0 auto;max-width:520px}.hero{border-radius:0;padding:25px 24px 51px}.sheet{box-shadow:none;padding:27px 22px 22px;min-height:calc(100dvh - 170px);border-radius:28px 28px 0 0}.amount{font-size:39px}.qr-panel{display:none}.bank-button{padding:17px 16px}.toast{bottom:calc(20px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.desktop-layout .shell{max-width:720px}.desktop-layout .qr-panel{border:0;margin:0;padding:24px 0;gap:28px}.desktop-layout .qr-frame{background:#fff;padding:16px;border:1px solid #e5eee6;border-radius:22px;box-shadow:0 8px 28px #1b59380a;flex-shrink:0}.desktop-layout .qr-panel img,.desktop-layout .qr-panel canvas{max-width:256px}.desktop-layout .qr-description h1{font-size:29px;line-height:1.18}.desktop-layout .qr-description p{font-size:15px;line-height:1.5;color:#486353;margin:14px 0}.desktop-layout .sheet{background:linear-gradient(130deg,#fff 30%,#f0f8ec 100%)}.desktop-layout .qr-description .text-button{font-size:13px}

/* Desktop payment screen: local SVG QR, without canvas fingerprint dependencies. */
.desktop-layout{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 3% 91%,#ffb6b4 0,transparent 49%),radial-gradient(ellipse at 76% 4%,#d5baf3 0,transparent 55%),#fffafc;color:#181329}
.desktop-layout .shell{width:min(860px,calc(100% - 64px));max-width:none;margin:50px auto}
.desktop-layout .hero{padding:0 0 25px;background:none;color:#302347;border-radius:0;text-align:center}
.desktop-layout .hero-top,.desktop-layout .hero-ring,.desktop-layout .amount-label{display:none}
.desktop-layout .amount{font-size:29px;letter-spacing:-.6px}.desktop-layout .order{font-size:12px;color:#766b80}
.desktop-layout .sheet{background:none;box-shadow:none;margin:0;padding:0;border-radius:0}
.desktop-layout .qr-panel{justify-content:center;gap:48px;padding:24px 0;margin:0}
.desktop-layout .qr-frame{width:284px;height:284px;padding:10px;background:white;border:0;border-radius:42px;box-shadow:none}
#qr{width:100%;height:100%;line-height:0}#qr svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.desktop-layout .qr-description{width:270px}.desktop-layout .qr-description h1{font-size:46px;line-height:1.05;letter-spacing:-1.2px;color:#171122;margin:0 0 14px;max-width:230px}
.desktop-layout .qr-description p{font-size:21px;line-height:1.28;color:#261c35;font-weight:600;margin:0 0 16px}
.desktop-layout .qr-description .text-button{color:#554270;font-weight:500;font-size:13px}
.desktop-layout footer{border:0;margin-top:22px;color:#897b92}.desktop-layout footer p{display:none}.desktop-layout footer #expiry{color:#897b92}
@media(min-width:601px) and (max-width:760px){.desktop-layout .qr-panel{gap:24px}.desktop-layout .qr-frame{width:250px;height:250px}.desktop-layout .qr-description{width:220px}.desktop-layout .qr-description h1{font-size:36px}.desktop-layout .qr-description p{font-size:18px}}

.manual-instructions{margin-top:24px;padding:18px;background:#f2f7f3;border-left:4px solid #168943;border-radius:16px}.manual-instructions h2{font-size:19px;margin:0 0 14px}.manual-instructions ol{padding-left:23px;line-height:1.6}.manual-instructions li{padding-left:4px;margin:10px 0}.requisite>div{min-width:0}.requisite strong{overflow-wrap:anywhere}.copy{flex-shrink:0;min-height:44px}.requisites{margin-bottom:18px}

/* One stable action column at every mobile width. */
.requisite{display:grid;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:16px;padding:18px 16px;flex-wrap:nowrap}
.requisite>div{min-width:0}.requisite div>span{font-size:11px;letter-spacing:.02em;margin-bottom:7px}.requisite div>strong{font-size:15px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.copy{width:116px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border:1px solid #dcebe1;border-radius:11px;background:#f1f7f3;color:#17613e;font-size:11px;font-weight:650;white-space:nowrap;transition:background .15s,border-color .15s}
.copy::before{content:"";width:14px;height:14px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M9 8h10v12H9zM15 8V4H5v12h4'/%3E%3C/svg%3E") center/contain no-repeat}
.copy:hover{background:#e6f1e9;border-color:#b5d4c0;text-decoration:none}.copy:active{background:#dbece0}.copy.copied{background:#17613e;border-color:#17613e;color:#fff}.copy.copied::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:360px){.requisite{padding:16px 12px;gap:10px;grid-template-columns:minmax(0,1fr) 108px}.copy{width:108px;font-size:10px}.requisite div>strong{font-size:14px}}

.manual-instructions ol{list-style:none;counter-reset:payment-step;padding:0;margin:0}.manual-instructions li{counter-increment:payment-step;display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:11px;align-items:start;margin:0;padding:12px 0;line-height:1.55;font-size:14px}.manual-instructions li+li{border-top:1px solid #dfe9e2}.manual-instructions li::before{content:counter(payment-step);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1a704d;color:#fff;font-size:13px;font-weight:700}.manual-instructions h2{margin-bottom:5px}

/* Camera-first instructions: the QR opens a payment page in the browser. */
.desktop-layout .shell{width:min(980px,calc(100% - 64px))}
.desktop-layout .qr-panel{gap:44px}
.desktop-layout .qr-description{width:430px;min-width:0}
.desktop-layout .qr-description h1{max-width:none;font-size:36px;line-height:1.12;letter-spacing:-.8px;margin-bottom:20px;text-wrap:balance}
.qr-camera-note{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid #e3b780;border-radius:16px;background:#fff3dc;color:#74400d;line-height:1.4;font-size:17px}
.qr-camera-note svg{flex-shrink:0}.qr-camera-note strong{font-size:inherit}
.qr-camera-steps{list-style:none;counter-reset:qr-step;margin:20px 0 12px;padding:0;display:grid;gap:12px}
.qr-camera-steps li{counter-increment:qr-step;display:grid;grid-template-columns:26px minmax(0,1fr);gap:11px;align-items:start;font-size:16px;line-height:1.45;color:#302347}
.qr-camera-steps li::before{content:counter(qr-step);width:26px;height:26px;display:grid;place-items:center;background:#fff9;color:#554270;border-radius:50%;font-size:13px;font-weight:700}
@media(min-width:601px) and (max-width:860px){.desktop-layout .shell{width:calc(100% - 40px)}.desktop-layout .qr-panel{gap:26px}.desktop-layout .qr-frame{width:240px;height:240px}.desktop-layout .qr-description{width:360px}.desktop-layout .qr-description h1{font-size:28px}.qr-camera-note{padding:13px;font-size:15px}.qr-camera-steps li{font-size:14px}}
/* A distinct manual route for people who do not see their bank above. */
.other-bank-button{border-color:#cfe8d8;background:linear-gradient(105deg,#f9fdfa,#eef8f2);box-shadow:0 5px 14px #146b3d12}
.other-bank-button:hover,.other-bank-button:focus-visible{border-color:#69b98a;background:#eaf6ee}
.other-bank-button .bank-name{color:#17613e}

/* Clear bank choice: compact header, familiar full-width bank cards, one next action. */
body:not(.desktop-layout){--ink:#241c3e;--muted:#756f83;--bg:#f8f6f9;background:var(--bg)}
body:not(.desktop-layout) .hero{background:linear-gradient(115deg,#52468b 0%,#7061b2 58%,#8d79bd 100%);padding:20px 24px 42px}
body:not(.desktop-layout) .hero-top{gap:12px}.secure{font-size:10px}.brand{font-size:14px}
body:not(.desktop-layout) .amount-label{margin:17px 0 3px;font-size:12px}
body:not(.desktop-layout) .amount{font-size:35px;letter-spacing:-1px}
body:not(.desktop-layout) .order{font-size:11px;margin-top:6px}
body:not(.desktop-layout) .sheet{background:#faf8fb;padding:24px 20px 18px;border-radius:26px}
.chooser-layout .section-heading{margin-bottom:17px}.chooser-layout h1{font-size:23px;line-height:1.2;letter-spacing:-.6px}
.chooser-layout .section-heading p{font-size:13px;line-height:1.45;color:#696174}
.chooser-layout .bank-list{gap:8px}.chooser-layout .bank-button{min-height:64px;padding:12px 15px;border-radius:17px;border:1px solid #ebe6ef;box-shadow:0 3px 9px #30214809;gap:14px}
.chooser-layout .bank-logo{width:36px;height:36px;border-radius:8px}.chooser-layout .bank-name{font-size:17px;font-weight:600}
.chooser-layout .bank-caption{display:none}.chooser-layout .other-bank-button .bank-caption{display:block;font-size:11px;margin-top:3px}
.chooser-layout .chevron{width:8px;height:8px;border-color:#80748f}.chooser-layout .bank-button:hover{border-color:#a494c3;background:#fdfbff}
.chooser-layout .other-bank-button{background:linear-gradient(105deg,#f9fdfa,#eef8f2);border-color:#cfe8d8}
.chooser-layout .other-bank-button:hover{background:#eaf6ee;border-color:#69b98a}
.chooser-layout #recent .overline{font-size:10px;margin:0 0 8px}.chooser-layout #recent{margin-bottom:8px}
.chooser-layout .hint{font-size:11px;line-height:1.45;margin-top:16px;gap:8px}.chooser-layout .hint>span{font-size:15px}
.chooser-layout footer{margin-top:15px;padding-top:12px}.chooser-layout footer p{display:none}
.chooser-layout .bank-button.loading{opacity:1;border-color:#9e8bbf;background:#f0eaf8}
.bank-button.loading .chevron{width:18px;height:18px;border:2px solid #cfc4df;border-top-color:#61408c;border-radius:50%;animation:bank-spin .8s linear infinite}
@keyframes bank-spin{to{transform:rotate(360deg)}}
.payment-layout #open-bank{margin:16px 0 10px;min-height:54px;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 16px #13854726}
.payment-layout #bank-launch-status{font-size:12px;line-height:1.5;color:#6e657a;margin:0 2px 20px}
.payment-layout .selected-bank{margin-bottom:10px}.payment-layout #change-bank{background:transparent;text-align:left;padding:10px 0;font-size:13px;margin:0;width:auto;min-height:40px}
.payment-layout .payment-lead{margin:12px 0;font-size:13px}.payment-layout .requisites{margin-top:16px}
@media(max-width:600px){body:not(.desktop-layout) .hero{padding:16px 20px 39px}body:not(.desktop-layout) .sheet{border-radius:25px 25px 0 0;padding:22px 18px 18px}.chooser-layout .amount-label{margin-top:12px!important}.chooser-layout .hero .order{display:none}.chooser-layout .amount{font-size:34px!important}.chooser-layout .section-heading{margin-bottom:16px}.chooser-layout h1{font-size:22px}.chooser-layout .bank-button{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.bank-button.loading .chevron{animation:none}}

.qr-camera-note{background:#fffc;border-color:#d7c6e7;color:#4f386a}.desktop-layout .qr-description .qr-compatibility{font-size:13px;line-height:1.5;font-weight:400;color:#71627e;margin:16px 0 8px}

/* Bank-specific actions; high-contrast text remains readable on brand colors. */
[data-bank="sber"]{--bank-color:#138547;--bank-text:#fff;--bank-soft:#eef8f2}
[data-bank="vtb"]{--bank-color:#0755c9;--bank-text:#fff;--bank-soft:#edf4ff}
[data-bank="tbank"]{--bank-color:#ffdd2d;--bank-text:#242528;--bank-soft:#fffae5}
[data-bank="gazprom"]{--bank-color:#173b79;--bank-text:#fff;--bank-soft:#eef2f9}
[data-bank="sovcom"]{--bank-color:#bd2140;--bank-text:#fff;--bank-soft:#fff0f3}
[data-bank="ozon"]{--bank-color:#005bff;--bank-text:#fff;--bank-soft:#edf3ff}
[data-bank="other"]{--bank-color:#17613e;--bank-text:#fff;--bank-soft:#eef8f2}
.payment-layout #payment #open-bank{background:var(--bank-color,#138547);color:var(--bank-text,#fff);box-shadow:0 5px 16px #15243b16}
.payment-layout #payment #open-bank:hover{filter:brightness(.94)}
.payment-layout #payment #open-bank:focus-visible{outline:3px solid var(--bank-color,#138547);outline-offset:4px}
.chooser-layout .bank-button:not(.other-bank-button){border-left:3px solid var(--bank-color,#e9ece8)}
.chooser-layout .bank-button:not(.other-bank-button):hover{background:var(--bank-soft,#fff);border-color:var(--bank-color,#e9ece8)}
.chooser-layout .bank-button:not(.other-bank-button):focus-visible{outline-color:var(--bank-color,#138547)}
