/* QFO account pages. White canvas; original floating-logo and text motion. */
:root{--platform-blue:#0066b2;--platform-ink:#17212d;--platform-muted:#78818d;--auth-line:#e9edf0}
*{box-sizing:border-box}
body.platform-auth-body{margin:0;min-height:100vh;color:var(--platform-ink);background:#fff;font-family:'Prompt','Inter',sans-serif;-webkit-font-smoothing:antialiased}
.platform-auth-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:30px 48px 24px;background:#fff}
.platform-auth-header{width:min(100%,1120px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.platform-auth-brand{display:inline-flex;align-items:center;gap:10px;color:var(--platform-ink);font-size:1.04rem;font-weight:600;text-decoration:none;letter-spacing:-.03em}
.platform-auth-brand img{width:38px;height:38px;object-fit:contain}
.platform-auth-home{font-size:.76rem;color:var(--platform-muted);text-decoration:none;display:flex;gap:10px;align-items:center}
.platform-auth-home:hover{color:var(--platform-blue)}
.platform-auth-panel{width:100%;display:flex;justify-content:center;flex:1;padding:68px 0 48px;align-items:center}
.platform-auth-card{width:min(100%,420px);animation:auth-enter .65s cubic-bezier(.2,.7,.2,1) both}
.platform-auth-kicker{margin:0 0 10px;font-size:.78rem;color:var(--platform-blue);font-weight:500;text-align:center}
.platform-auth-card h1{margin:0;text-align:center;font-size:clamp(1.9rem,4vw,2.4rem);font-weight:500;letter-spacing:-.045em;line-height:1.4}
.platform-auth-description{margin:12px 0 32px;color:var(--platform-muted);font-size:.81rem;line-height:1.8;text-align:center}
.platform-auth-form{display:grid;gap:19px}
.platform-auth-form label>span:first-child{display:block;margin-bottom:8px;font-size:.78rem;font-weight:500;color:#434d59}
.platform-auth-form input:not([type=checkbox]){width:100%;height:50px;padding:12px 15px;border:1px solid #dfe4e9;border-radius:11px;background:#fff;color:var(--platform-ink);font:inherit;font-size:.82rem;outline:none;transition:border-color .2s,box-shadow .2s}
.platform-auth-form input::placeholder{color:#a2a9b2}
.platform-auth-form input:not([type=checkbox]):focus{border-color:var(--platform-blue);box-shadow:0 0 0 3px #0066b20b}
.platform-password{position:relative;display:block}
.platform-password input{padding-right:44px!important}
.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#939ca7;cursor:pointer}
.password-toggle:hover{color:var(--platform-blue)}
.platform-auth-row{display:flex;justify-content:space-between;align-items:center;margin-top:-3px}
.platform-auth-link{font-size:.76rem}
.platform-auth-link,.platform-auth-switch a,.platform-auth-alert-actions a{color:var(--platform-blue);text-decoration:none;font-weight:500}
.platform-auth-link:hover,.platform-auth-switch a:hover{text-decoration:underline;text-underline-offset:4px}
.platform-auth-submit{width:100%;min-height:51px;display:flex;justify-content:center;align-items:center;gap:12px;border:0;border-radius:11px;background:var(--platform-blue);color:#fff;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:transform .22s,box-shadow .22s,background .22s}
.platform-auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0066b222;background:#00599b}
.platform-auth-submit:active:not(:disabled){transform:translateY(0)}
.platform-auth-submit:disabled{cursor:wait;opacity:.65}
.platform-auth-submit i{font-size:.75rem;transition:transform .2s}.platform-auth-submit:hover i{transform:translateX(3px)}
.platform-auth-divider{display:flex;align-items:center;gap:15px;margin:30px 0 22px;font:500 .58rem 'Inter',sans-serif;letter-spacing:.15em;color:#a5acb5;white-space:nowrap}
.platform-auth-divider:before,.platform-auth-divider:after{content:'';height:1px;background:var(--auth-line);flex:1}
.platform-auth-switch{margin:0;text-align:center;color:var(--platform-muted);font-size:.8rem}
.platform-auth-back{display:none}
.platform-auth-legal-footer{display:flex;align-items:center;gap:8px;font-size:.65rem;color:#9ba3ac;margin-top:10px}
.platform-auth-footer-dot{width:5px;height:5px;border-radius:50%;background:var(--platform-blue);opacity:.6}
.platform-auth-alert{display:flex;gap:10px;margin:0 0 20px;padding:13px 15px;border:1px solid #f5d5d0;border-radius:10px;background:#fff;color:#b42318;font-size:.77rem;line-height:1.7}
.platform-auth-alert p{margin:0}.platform-auth-alert.is-info{border-color:#d8e6f1;color:var(--platform-blue)}
.platform-auth-alert-actions{display:flex;gap:16px;margin-top:5px}
.platform-auth-check{display:flex;align-items:flex-start;gap:9px;color:var(--platform-muted);font-size:.7rem;line-height:1.7}
.platform-auth-check input{margin:3px 0 0;accent-color:var(--platform-blue);width:15px;height:15px;flex-shrink:0}
.platform-auth-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.platform-auth-steps{display:flex;justify-content:center;align-items:center;gap:12px;margin:-8px 0 25px;font-size:.68rem;color:#a4acb6}
.platform-auth-steps .is-current{color:var(--platform-blue)}
.auth-letter{display:inline-block;white-space:pre;animation:auth-letter .65s cubic-bezier(.18,.7,.2,1) both;animation-delay:var(--letter-delay)}
.qfo-loading[hidden]{display:none!important}
.qfo-loading{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:auth-enter .25s ease both}
.qfo-loading-stage{position:relative;width:280px;height:220px;isolation:isolate}
/* Each round bounces, rolls away and returns; the next round faces the other way. */
.qfo-loading-direction{position:absolute;inset:0;transform:translateY(-10%);animation:qfo-direction 7.2s steps(1,end) infinite}
.qfo-loading-anchor{position:absolute;left:50%;top:50%;width:80px;height:80px;transform:translate(-50%,-50%)}
.qfo-loading-motion{position:absolute;inset:0;transform-origin:center bottom;animation:qfo-bounce-roll 3.6s ease-in-out infinite}
.qfo-loading-logo{position:absolute;inset:0;border:1px solid #e1e8ee;border-radius:25%;background:#fff;display:grid;place-items:center;box-shadow:0 3px 12px #263d5509}
.qfo-loading-logo img{width:54px;height:54px;object-fit:contain;animation:qfo-readable-logo 7.2s steps(1,end) infinite}
.qfo-loading-reflection{position:absolute;inset:0;transform-origin:center bottom;transform:perspective(200px) rotateX(-150deg);z-index:-1}
.qfo-loading-shadow{position:absolute;inset:0;border-radius:25%;background:linear-gradient(#263d5505,#263d5526);filter:blur(1px)}
.qfo-loading p{margin:8px 20px 12px;color:#4f5d6b;font-size:.83rem;text-align:center}
.qfo-loading-note{font:500 .6rem 'Inter',sans-serif;letter-spacing:.2em;color:#a3abb3}
:focus-visible{outline:2px solid var(--platform-blue);outline-offset:4px}
@keyframes auth-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes auth-letter{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes qfo-direction{0%,100%{transform:translateY(-10%) scaleX(1)}50%{transform:translateY(-10%) scaleX(-1)}}
@keyframes qfo-readable-logo{0%,100%{transform:scaleX(1)}50%{transform:scaleX(-1)}}
@keyframes qfo-bounce-roll{
  0%,5.5%{transform:translate(0,0);transform-origin:center bottom}
  12.5%{transform:scale(1.2,.9)}
  19.5%{transform:translateY(-60%) scale(.95,1.1)}
  26.5%{transform:scale(1.2,.9)}
  33.3%{transform:none;transform-origin:center bottom}
  38.8%{transform:none;transform-origin:right bottom}
  47.5%{transform:rotate(90deg);transform-origin:right bottom}
  47.53%{transform:translateX(100%);transform-origin:right bottom}
  52.5%{transform:translateX(100%) rotate(8deg);transform-origin:right bottom}
  58.3%{transform:translateX(100%);transform-origin:right bottom}
  63.8%{transform:translateX(100%);transform-origin:left bottom}
  72.5%{transform:translateX(100%) rotate(-90deg);transform-origin:left bottom}
  72.53%{transform:none;transform-origin:left bottom}
  77.5%{transform:rotate(-8deg);transform-origin:left bottom}
  83.3%,100%{transform:none;transform-origin:left bottom}
}
@media(max-width:600px){.platform-auth-page{padding:22px 24px}.platform-auth-panel{padding:48px 0 32px;align-items:center}.platform-auth-brand{font-size:.9rem}.platform-auth-home{font-size:.65rem}.platform-auth-brand img{width:32px;height:32px}.platform-auth-description{font-size:.76rem}.platform-auth-password-grid{grid-template-columns:1fr;gap:19px}.platform-auth-form{gap:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Email verification and the pending-registration tooltip. */
.verify-target-email{display:inline-block;margin-top:7px;color:#384858;font-weight:500;overflow-wrap:anywhere}
.otp-label{margin:0 0 12px;text-align:center;font-size:.76rem;font-weight:500;color:#586574}
.otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.platform-auth-form input.otp-digit{height:62px;padding:8px 0;text-align:center;font:500 24px 'Inter',sans-serif;border-radius:12px;caret-color:var(--platform-blue)}
.otp-help{display:flex;justify-content:center;gap:7px;margin:-5px 0 3px;color:#929ba5;font-size:.68rem}
.otp-resend-area{padding-top:24px;text-align:center}.otp-resend-area>p{margin:0 0 10px;color:var(--platform-muted);font-size:.72rem}
.otp-resend-button{border:0;border-radius:8px;padding:7px 10px;background:transparent;color:var(--platform-blue);font:500 .77rem 'Prompt',sans-serif;cursor:pointer}.otp-resend-button:disabled{color:#a0a8b2;cursor:default}
.qfo-pending{position:relative;margin:0 0 22px;color:#5e6c7b;font-size:.76rem;z-index:5}
.qfo-pending summary{display:flex;align-items:center;gap:10px;padding:12px 14px;list-style:none;border:1px solid #e4ebf0;border-radius:11px;background:#fff;cursor:pointer}
.qfo-pending summary::-webkit-details-marker{display:none}.qfo-pending summary>i{margin-left:auto;font-size:10px;transition:transform .2s}.qfo-pending[open] summary>i{transform:rotate(180deg)}
.qfo-pending-mark{display:grid;place-items:center;width:22px;height:22px;border:1px solid #d6e1eb;border-radius:50%;font:500 13px 'Inter',sans-serif;color:var(--platform-blue)}
.qfo-pending-popover{position:absolute;top:calc(100% + 9px);left:0;right:0;padding:20px;border:1px solid #e4ebf0;border-radius:14px;background:#fff;box-shadow:0 14px 45px #172f4918;animation:pending-tooltip-in .38s cubic-bezier(.22,1,.36,1) both;transform-origin:top left}
.qfo-pending-popover:before{content:'';position:absolute;left:22px;top:-6px;width:10px;height:10px;border-top:1px solid #e4ebf0;border-left:1px solid #e4ebf0;background:#fff;transform:rotate(45deg)}
.qfo-pending-popover:after{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.qfo-pending-popover p{margin:0 0 6px;font-size:.7rem;color:#8a95a1}.qfo-pending-popover strong{display:block;font-weight:500;color:#34475b;overflow-wrap:anywhere;font-size:.83rem}.qfo-pending-hint{display:block;margin-top:10px;line-height:1.7;color:#7b8793;font-size:.7rem}
.qfo-pending-actions{display:flex;align-items:center;gap:18px;margin-top:17px}.qfo-pending-actions a{color:var(--platform-blue);font-size:.74rem;text-decoration:none;font-weight:500}.qfo-pending-actions a:first-child{display:flex;align-items:center;gap:10px;padding:9px 13px;background:#0066b2;color:#fff;border-radius:8px}.qfo-pending-actions a:hover{text-decoration:underline}
@keyframes pending-tooltip-in{from{opacity:0;transform:translateY(-7px) scale(.97);clip-path:inset(0 0 85% 0 round 14px)}to{opacity:1;transform:none;clip-path:inset(-10px -50px -50px -50px)}}
@media(max-width:480px){.otp-boxes{gap:6px}.platform-auth-form input.otp-digit{height:53px;font-size:21px;border-radius:9px}.platform-verify-card h1{font-size:1.8rem}}
