@view-transition{navigation:auto}
::view-transition-old(root){animation:rivo-page-out .16s ease-out both}
::view-transition-new(root){animation:rivo-page-in .22s cubic-bezier(.16,1,.3,1) both}
@keyframes rivo-page-out{to{opacity:0}}
@keyframes rivo-page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.rivo-navigating:after{content:"";position:fixed;inset:0 auto auto 0;height:3px;width:70%;z-index:2147483646;pointer-events:none;background:#1460ed;transform-origin:left;animation:rivo-progress 12s cubic-bezier(.1,.8,.1,1) forwards}
@keyframes rivo-progress{from{transform:scaleX(.08)}to{transform:scaleX(1.35)}}
.account-form-actions{display:flex;align-items:center;gap:12px}
.account-form-actions>.btn{height:44px;min-height:44px;box-sizing:border-box}
body.rivo-app .factor-button{height:44px!important;min-height:44px!important;width:44px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;font-size:11px!important;letter-spacing:0;font-weight:750}
.factor-button.is-enabled{border-color:#28836c!important;color:#08705b!important;background:#e6f6ef!important}
.factor-dialog{--factor-muted:#536780;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;padding:32px;border:1px solid var(--line,#dce6f2);border-radius:20px;background:var(--panel,#fff);color:var(--text,#142c49);box-shadow:0 24px 80px #10244029;overflow:auto;overscroll-behavior:contain}
.factor-dialog::backdrop{background:#08182980}
.factor-dialog[open]{animation:rivo-page-in .22s cubic-bezier(.16,1,.3,1)}
.factor-dialog [hidden]{display:none!important}
.factor-close{position:absolute;right:16px;top:16px;width:36px;height:36px;border:0;border-radius:9px;background:var(--secondary,#eff4fb);color:inherit;display:grid;place-items:center;cursor:pointer}
.factor-close svg{width:18px;height:18px}
.factor-symbol{height:44px;width:44px;display:grid;place-items:center;color:#1460ed;background:#eaf2ff;border-radius:12px;margin-bottom:20px}
.factor-symbol svg{width:23px;height:23px}
.factor-dialog h2,.factor-login h1{font-size:26px;line-height:1.3;margin:0 40px 12px 0}
.factor-dialog h3{font-size:16px;line-height:1.5;margin:0 0 10px}
.factor-dialog p,.factor-login p{font-size:14px;line-height:1.65;color:var(--factor-muted);margin:0 0 20px}
.factor-dialog label,.factor-login label{display:grid;gap:8px;font-size:13px;font-weight:600}
.factor-dialog input,.factor-login input{width:100%;box-sizing:border-box;min-height:46px;border-radius:9px;border:1px solid var(--line,#c8d8ec);background:var(--input-bg,#f8fbff);color:inherit;padding:12px 14px;font:inherit}
.factor-dialog input:focus-visible,.factor-login input:focus-visible{outline:2px solid #1460ed;outline-offset:3px}
.factor-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}
.factor-dialog .factor-error,.factor-login .factor-error{color:#b2223b;background:#fff1f3;border-radius:9px;padding:12px 14px;margin:16px 0}
.factor-dialog .factor-hint,.factor-login .factor-hint{font-size:12px;margin-top:10px}
.factor-setup{display:grid;grid-template-columns:192px minmax(0,1fr);gap:22px;align-items:center;margin:24px 0}
.factor-qr{background:white;border-radius:10px;overflow:hidden;line-height:0;aspect-ratio:1}
.factor-qr svg{display:block;width:100%;height:auto}
.factor-setup details{font-size:12px;line-height:1.6}.factor-setup summary{cursor:pointer;color:#075fc4}.factor-setup code{display:block;overflow-wrap:anywhere;user-select:all;margin:10px 0}
.factor-recovery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;background:var(--secondary,#eff4fb);border-radius:12px}.factor-recovery code{font-size:13px;user-select:all}
.factor-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:750;font-size:20px}
.factor-login-shell{width:min(460px,calc(100% - 32px));margin:60px auto}.factor-login-shell>.factor-brand{justify-content:center;margin-bottom:28px}
.factor-login{--factor-muted:#536780;background:#fff;border:1px solid #dce6f2;border-radius:20px;padding:32px}.factor-login form>.btn{width:100%;margin-top:8px}.factor-code{font-size:19px!important;letter-spacing:.08em}.factor-back{display:block;margin:20px auto 0;background:transparent;color:#1d5b99;border:0;font:inherit;font-size:13px;cursor:pointer}
.not-found-page{max-width:640px;margin:0 auto;min-height:65vh;padding:64px 24px 80px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.not-found-number{font-size:clamp(96px,18vw,156px);line-height:1;font-weight:800;letter-spacing:-.04em;color:#1460ed;margin-bottom:24px}.not-found-page h1{font-size:clamp(26px,4vw,36px);line-height:1.3;margin:0 0 18px}.not-found-page p{color:var(--muted,#536780);font-size:16px;line-height:1.75;max-width:48ch;margin:0 0 28px}.not-found-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.error-brand{max-width:1190px;margin:0 auto;padding:28px 24px}
html[data-panel-theme=dark] .factor-dialog{--factor-muted:#b4c4d7;--panel:#172231;--line:#34465b;--secondary:#203047;--input-bg:#101b2a;color:#edf3fb}html[data-panel-theme=dark] .factor-dialog .factor-error{background:#3c202b;color:#ffb6c4}html[data-panel-theme=dark] .factor-setup summary{color:#91bcff}html[data-panel-theme=dark] .factor-button.is-enabled{background:#153b34!important;color:#9be0ce!important}
@media(max-width:560px){.factor-dialog{padding:24px}.factor-setup{grid-template-columns:1fr;gap:18px}.factor-qr{width:190px;margin:auto}.factor-recovery{grid-template-columns:1fr}.factor-recovery code{text-align:center}.factor-login-shell{margin:32px auto}.factor-login{padding:24px}.not-found-page{padding-top:40px;min-height:60vh}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root),.factor-dialog[open]{animation:none}.rivo-navigating:after{animation:none;width:100%;transform:none}}
