/* Adapted from the supplied Figma style.css: selectors added; canvas-only positions removed. */
/* Reference: Figma 3054:29335, 393 × 852. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');
:root{--paper:#fffcf7;--text:#272727;--muted:#676767;--orange:#eb7708;--border:#efefef;--danger:#ff3b30}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:24px}button,input{font:inherit}button{cursor:pointer}button:focus-visible{outline:3px solid #1646a8;outline-offset:4px}.login{width:100%;max-width:393px;min-height:100svh;margin:auto;padding-top:max(32px,calc((100svh - 852px)/2 + 138px));display:flex;flex-direction:column}.brand{padding:32px 16px 31px;text-align:center}.brand img{display:block;margin:0 auto;max-width:100%;height:auto}.brand h1{font-size:16px;line-height:24px;color:var(--muted);font-weight:400;margin:15px 0 0}.fields{padding:16px;display:flex;flex-direction:column;gap:10px}.field{position:relative;height:56px;border:1px solid var(--border);background:white;border-radius:14px}.field:focus-within{border-color:#ff7900}.field input{border:0;outline:0;background:transparent;width:100%;height:100%;padding:22px 16px 4px;border-radius:14px;color:var(--text)}.field label{pointer-events:none;position:absolute;left:16px;top:15px;color:#a2a2a2;transition:top .12s,font-size .12s;white-space:nowrap;font-size:16px}.field input:focus+label,.field input:not(:placeholder-shown)+label{top:6px;font-size:10px;line-height:15px}.password-field input{padding-right:52px}.visibility{position:absolute;right:16px;top:15px;border:0;padding:0;background:transparent;color:var(--muted);width:24px;height:24px}.visibility svg{display:block}.field:has(input[aria-invalid="true"]){border-color:var(--danger)}.field-error{margin:0;color:var(--danger);font-size:12px;line-height:18px}.actions{padding:0 16px;display:grid;gap:10px}.primary{border:0;border-radius:14px;height:56px;padding:16px;color:white;font-weight:600;width:100%;background:linear-gradient(280.39deg,#ffad25 20.85%,#ff691d 145.13%)}.text-button{border:0;background:transparent;color:var(--orange);font-weight:600;height:56px;padding:16px}.login footer{text-align:center;margin-top:auto;padding:16px 16px 32px;color:#86868b;font-size:17px}.register{background:transparent;border:0;padding:0;color:var(--orange);font-weight:600}dialog{border:1px solid var(--border);border-radius:20px;padding:24px;max-width:min(361px,calc(100vw - 32px));background:var(--paper);color:var(--text)}dialog::backdrop{background:#0006}dialog h2{font-size:22px;line-height:30px;margin-top:0}dialog p{color:var(--muted)}[hidden]{display:none!important}@media(max-height:650px){.login{padding-top:32px}.login footer{margin-top:40px}}@media(prefers-reduced-motion:reduce){.field label{transition:none}}
/* Password recovery, from supplied Figma frames. */
.recovery{max-width:393px;min-height:100svh;margin:auto;display:flex;flex-direction:column;position:relative}.recovery-top{height:138px;flex-shrink:0;position:relative}.recovery-top img{position:absolute;top:27px;left:50%;transform:translateX(-50%);width:155px;height:auto}.back{position:absolute;top:20px;left:20px;width:44px;height:44px;border-radius:14px;background:#fff5e8;box-shadow:1px 2px 2px #e2bd7f4d;color:var(--orange);display:grid;place-items:center;font-size:28px;text-decoration:none}.recovery-body{flex:1}.recovery-heading{text-align:center;padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:16px}.recovery-heading h1{font-size:32px;line-height:40px;font-weight:700;margin:0}.recovery-heading h1.xl{font-size:40px;line-height:50px}.recovery-heading p{color:#86868b;font-size:16px;line-height:24px;margin:0}.recovery .primary:disabled{opacity:.2;cursor:default}.recovery a.primary,.recovery a.text-button{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}.recovery footer{text-align:center;color:#86868b;font-size:17px;padding:16px 16px 32px}.strength{display:flex;gap:12px;align-items:center;font-size:10px;font-weight:600}.bars{display:flex;gap:6px;flex:1}.bars i{height:6px;background:#efefef;border-radius:3px;flex:1}.rules{list-style:none;padding:0;margin:0;font-size:12px;line-height:21px;color:#676767}.rules li:before{content:'○';margin-right:8px}.rules li.pass{color:#0e9f37}.rules li.pass:before{content:'✓'}.illustration{width:120px;height:120px;border-radius:50%;background:#fff5e8;color:#eb7708;display:grid;place-items:center;font-size:56px}.outcome p{max-width:267px}.preview-note{font-size:11px;color:#676767;text-align:center;padding:8px 16px;margin:0}.recovery input:focus+label,.recovery input:not(:placeholder-shown)+label{font-size:10px}@media(max-width:350px){.recovery-heading h1.xl{font-size:34px}}
/* Single-page onboarding uses the same shared form and button tokens. */
.onboarding{width:100%;max-width:393px;min-height:100svh;margin:auto;display:flex;flex-direction:column}.onboarding .recovery-top{height:92px}.onboarding .recovery-heading{padding:20px 16px 16px}.onboarding .recovery-heading h1{font-size:28px;line-height:36px}.onboarding .fields{gap:10px}.password-hint{font-size:11px;line-height:17px;margin:0;color:var(--muted)}.language-field label{top:6px;font-size:10px;line-height:15px}.language-field select{width:100%;height:100%;border:0;border-radius:14px;background:transparent;color:var(--text);font:inherit;padding:20px 12px 3px;outline:0}.language-field:focus-within{border-color:#ff7900}.onboarding footer{padding:20px 16px 32px;text-align:center;color:#86868b;font-size:16px;margin-top:auto}.onboarding .register{text-decoration:none}.onboarding .primary{margin-top:6px}
