/* Lightweight, responsive Vovry cross-device sign-in surfaces. */
.qr-login{margin:14px 0 4px;font:inherit}
.qr-login-trigger{display:block;width:100%;border:1px solid currentColor;border-radius:14px;padding:13px 12px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:14px;opacity:.9}
.qr-login-trigger:hover,.qr-login-action:hover{opacity:1;background:color-mix(in srgb,currentColor 7%,transparent)}
.qr-login-panel{text-align:center;padding:15px 12px;margin-top:8px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:20px;background:color-mix(in srgb,currentColor 4%,transparent)}
.qr-login-intro{font-size:13px;line-height:1.5;margin:0 0 12px;opacity:.84}
.qr-login-image{display:grid;place-items:center;min-height:192px;margin:0 auto 11px}
.qr-login-image svg{width:min(214px,72vw);height:auto;background:#fff;border-radius:12px;padding:8px;max-width:100%;box-sizing:border-box}
.qr-login-code{display:block;letter-spacing:.1em;font-size:17px;font-variant-numeric:tabular-nums}
.qr-login-countdown,.qr-login-status{font-size:12px;line-height:1.6;min-height:1.4em;opacity:.8;margin:7px 0}
.qr-login-actions{display:flex;gap:10px;justify-content:center;margin-top:10px}
.qr-login-action{border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:12px;padding:8px 14px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
body.qr-approval-page{margin:0;min-height:100dvh;background:#09090a;color:#f5f5f5;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.qr-approval-shell{width:min(450px,100%);box-sizing:border-box;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 25px calc(24px + env(safe-area-inset-bottom))}
.qr-approval-brand{display:flex;align-items:center;gap:10px;font-size:18px;letter-spacing:.03em}
.qr-brand-mark{display:grid;place-items:center;width:33px;height:33px;border:1px solid #666;border-radius:12px;font-size:17px}
.qr-approval-content{margin-top:clamp(50px,12vh,105px)}
.qr-approval-eyebrow{font-size:10px;color:#999;letter-spacing:.19em;margin:0 0 8px}
.qr-approval-content h1{font-weight:650;font-size:26px;letter-spacing:-.03em;margin:0 0 10px}
.qr-approval-help{font-size:13px;color:#acacac;line-height:1.7;margin:12px 0 16px}
.qr-approval-details{padding:18px;border:1px solid #3b3b3b;border-radius:19px;display:grid;gap:7px;background:#ffffff07}
.qr-approval-details>span{font-size:12px;color:#aaa;margin-top:3px}
.qr-approval-details>strong{font-size:17px;font-weight:600;overflow-wrap:anywhere}
.qr-approval-details>.qr-approval-code{font-size:27px;letter-spacing:.13em;font-variant-numeric:tabular-nums}
.qr-approval-user{font-size:13px;line-height:1.55;color:#d5d5d5;overflow-wrap:anywhere;margin:13px 0}
.qr-approval-signin{display:grid;gap:9px;margin:22px 0}
.qr-approval-signin label{font-size:13px;color:#c9c9c9}
.qr-approval-signin input{background:#161616;color:#fff;border:1px solid #555;border-radius:12px;height:45px;padding:0 13px;font-size:16px;box-sizing:border-box;width:100%}
.qr-approval-signin button,.qr-approval-actions button{border-radius:13px;border:1px solid #dedede;min-height:46px;font:inherit;font-size:14px;cursor:pointer}
.qr-approval-signin button,.qr-approval-actions button:first-child{background:#f3f3f3;color:#111}
.qr-approval-actions{display:grid;gap:11px;margin-top:23px}
.qr-approval-actions .qr-approval-secondary{color:#ddd;background:transparent;border-color:#555}
.qr-approval-actions button:disabled{opacity:.42;cursor:not-allowed}
.qr-approval-status{font-size:13px;color:#d5d5d5;min-height:1.6em;margin:12px 0}
.qr-approval-home{display:inline-block;margin-top:22px;font-size:12px;color:#aaa;text-decoration:none}
@media(prefers-color-scheme:light){body.qr-approval-page{background:#fff;color:#101010}body.qr-approval-page .qr-approval-details{border-color:#ddd;background:#fafafa}body.qr-approval-page .qr-approval-help,body.qr-approval-page .qr-approval-user,body.qr-approval-page .qr-approval-status,body.qr-approval-page .qr-approval-details>span{color:#555}body.qr-approval-page .qr-approval-signin input{color:#111;background:#fff;border-color:#bbb}body.qr-approval-page .qr-approval-actions button:first-child,body.qr-approval-page .qr-approval-signin button{background:#111;color:#fff}body.qr-approval-page .qr-approval-actions .qr-approval-secondary{color:#111;border-color:#aaa;background:transparent}}
