.rava-identity-page,.rava-account-security{--ri-ink:#11110f;--ri-paper:#fff;--ri-soft:#f3f3ef;--ri-soft-2:#e9e9e2;--ri-line:#deded6;--ri-muted:#74736b;--ri-success:#2b7351;--ri-danger:#a23d3d;--ri-serif:Estedad,Vazirmatn,Georgia,serif;--ri-sans:Vazirmatn,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ri-mono:"SFMono-Regular",Consolas,monospace;color:var(--ri-ink);font-family:var(--ri-sans)}
.rava-identity-page{min-height:75vh;background:radial-gradient(circle at 15% 20%,rgba(17,17,15,.035),transparent 28%),linear-gradient(135deg,#f7f7f3 0%,#fff 58%)}
.rava-identity-shell{width:min(1180px,calc(100% - 40px));margin:auto;padding:clamp(70px,9vw,145px) 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,.62fr);gap:clamp(50px,9vw,130px);align-items:center}.rava-identity-copy>span,.rava-access-kicker,.rava-security-header>span,.rava-password-security-copy>span{font:600 10px/1.4 var(--ri-mono);letter-spacing:.12em;color:var(--ri-muted)}.rava-identity-copy h1{margin:18px 0 25px;font:500 clamp(58px,8vw,118px)/.94 var(--ri-serif);letter-spacing:-.055em}.rava-identity-copy p{max-width:590px;color:var(--ri-muted);font-size:17px;line-height:2}
.rava-access-card{position:relative;padding:clamp(28px,4vw,48px);background:rgba(255,255,255,.96);border:1px solid var(--ri-line);box-shadow:0 30px 70px rgba(17,17,15,.07);backdrop-filter:blur(16px)}.rava-access-step{display:none;animation:ravaIdentityStep .22s ease}.rava-access-step.is-active{display:block}@keyframes ravaIdentityStep{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.rava-access-step h2{margin:15px 0 10px;font:500 38px/1.2 var(--ri-serif);letter-spacing:-.025em}.rava-access-step p{margin:0 0 30px;color:var(--ri-muted);line-height:1.9}.rava-access-step label,.rava-access-step label span{display:block}.rava-access-step label span{margin-bottom:9px;font-size:12px}.rava-access-step input,.rava-password-step input{width:100%;min-height:56px;padding:0 15px;border:1px solid var(--ri-line);border-radius:5px;background:#fff;color:var(--ri-ink);font:500 16px var(--ri-sans);outline:none;box-sizing:border-box}.rava-access-step input:focus,.rava-password-step input:focus{border-color:var(--ri-ink);box-shadow:0 0 0 3px rgba(17,17,15,.06)}.rava-access-step>button:not(.rava-access-back):not(.rava-access-resend),.rava-security-primary{width:100%;min-height:54px;margin-top:16px;padding:0 18px;border:1px solid var(--ri-ink);border-radius:5px;background:var(--ri-ink);color:#fff;font-weight:700;cursor:pointer;transition:.18s ease}.rava-access-step>button:not(.rava-access-back):not(.rava-access-resend):hover,.rava-security-primary:hover{background:#fff;color:var(--ri-ink)}.rava-access-step>button:disabled,.rava-security-primary:disabled{opacity:.48;cursor:not-allowed}.rava-access-step small{display:block;margin-top:14px;color:var(--ri-muted);font-size:10px;line-height:1.8}.rava-access-back,.rava-access-resend,.rava-security-back,.rava-security-resend{border:0;background:transparent;color:var(--ri-muted);cursor:pointer}.rava-access-back{margin-bottom:24px;padding:0}.rava-access-resend,.rava-security-resend{display:block;margin:18px auto 0}.rava-access-message{min-height:24px;margin-top:16px;font-size:12px}.rava-access-message[data-type="error"]{color:var(--ri-danger)}.rava-access-message[data-type="success"]{color:var(--ri-success)}
.rava-access-methods{display:grid;gap:12px}.rava-access-methods button{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important;min-height:92px!important;margin:0!important;padding:20px!important;border:1px solid var(--ri-line)!important;border-radius:7px!important;background:#fff!important;color:var(--ri-ink)!important;text-align:right!important;cursor:pointer!important}.rava-access-methods button:hover{border-color:var(--ri-ink)!important;background:var(--ri-soft)!important}.rava-access-methods button span{font:600 17px/1.4 var(--ri-serif)}.rava-access-methods button small{margin:0;color:var(--ri-muted);font-size:11px}.rava-access-methods button.is-disabled{opacity:.5}.rava-access-step[data-step="password"] .rava-access-resend{width:auto!important;min-height:auto!important;margin:20px auto 0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--ri-muted)!important;font-weight:500!important}
.rava-account-security{max-width:1080px}.rava-security-header{margin-bottom:34px}.rava-security-header h2{margin:12px 0 8px;font:500 clamp(38px,5vw,64px)/1.05 var(--ri-serif);letter-spacing:-.04em}.rava-security-header p{margin:0;color:var(--ri-muted);line-height:1.9}.rava-security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0 42px}.rava-security-grid>div{min-height:126px;padding:20px;border:1px solid var(--ri-line);background:#fff}.rava-security-grid span,.rava-security-grid strong,.rava-security-grid small{display:block}.rava-security-grid span,.rava-security-grid small{color:var(--ri-muted);font-size:11px}.rava-security-grid strong{margin:18px 0 7px;font:500 19px/1.5 var(--ri-serif);overflow-wrap:anywhere}
.rava-password-security{display:grid;grid-template-columns:minmax(0,.7fr) minmax(360px,1fr);gap:clamp(30px,7vw,90px);padding:clamp(26px,4vw,50px);border:1px solid var(--ri-line);background:linear-gradient(135deg,var(--ri-soft),#fff)}.rava-password-security.is-setup-requested{box-shadow:0 20px 55px rgba(17,17,15,.07)}.rava-password-security-copy h3{margin:14px 0 18px;font:500 clamp(30px,4vw,52px)/1.1 var(--ri-serif);letter-spacing:-.035em}.rava-password-security-copy p{margin:0;color:var(--ri-muted);line-height:1.95}.rava-password-flow{padding:24px;border:1px solid var(--ri-line);background:#fff}.rava-password-step{display:none;animation:ravaIdentityStep .22s ease}.rava-password-step.is-active{display:block}.rava-password-step>strong{display:block;margin-bottom:18px;font:500 21px/1.5 var(--ri-serif)}.rava-password-step>p{color:var(--ri-muted);line-height:1.8}.rava-password-step label,.rava-password-step label span{display:block}.rava-password-step label+label{margin-top:14px}.rava-password-step label span{margin-bottom:8px;font-size:11px}.rava-password-step>small{display:block;margin-top:13px;color:var(--ri-muted);font-size:10px;line-height:1.8}.rava-security-channels{display:grid;gap:10px}.rava-security-channels button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:68px;padding:14px 16px;border:1px solid var(--ri-line);border-radius:5px;background:#fff;color:var(--ri-ink);text-align:right;cursor:pointer}.rava-security-channels button:hover{border-color:var(--ri-ink);background:var(--ri-soft)}.rava-security-channels button span,.rava-security-channels button small{display:block}.rava-security-channels button span{font-weight:700}.rava-security-channels button small{color:var(--ri-muted);direction:ltr}.rava-security-hint,.rava-security-unavailable{display:block;margin-top:15px;color:var(--ri-muted);font-size:10px;line-height:1.8}.rava-security-unavailable{padding:14px;border:1px dashed var(--ri-line)}.rava-security-back{margin-bottom:18px;padding:0}.rava-security-primary{margin-top:16px}.rava-identity-login-link{margin-top:16px;text-align:center}.rava-identity-login-link a{text-underline-offset:4px}
@media(max-width:900px){.rava-identity-shell{grid-template-columns:1fr;padding:55px 0;gap:38px}.rava-identity-copy h1{font-size:64px}.rava-password-security{grid-template-columns:1fr}.rava-security-grid{grid-template-columns:1fr 1fr}.rava-security-grid>div:last-child{grid-column:1/-1}}
@media(max-width:600px){.rava-identity-shell{width:calc(100% - 24px);padding:32px 0 55px}.rava-identity-copy h1{font-size:48px}.rava-identity-copy p{font-size:14px}.rava-access-card{padding:24px 16px}.rava-access-step h2{font-size:34px}.rava-access-methods button{min-height:82px!important;padding:16px!important}.rava-security-grid{grid-template-columns:1fr}.rava-security-grid>div:last-child{grid-column:auto}.rava-password-security{padding:20px 14px;gap:24px}.rava-password-flow{padding:18px 14px}.rava-security-channels button{display:block}.rava-security-channels button small{margin-top:5px}.rava-security-header h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.rava-access-step,.rava-password-step{animation:none}.rava-access-step>button,.rava-security-primary{transition:none}}

/* Post-certification Phase 1 Correction 03 — premium access states. */
.rava-access-card[data-rava-identity]{padding:0;box-shadow:none;backdrop-filter:none}
.rava-access-card[data-rava-identity] .rava-access-step h2{margin:8px 0 6px;font-size:clamp(1.65rem,3vw,2rem)}
.rava-access-card[data-rava-identity] .rava-access-step p{margin:0 0 14px;font-size:.8rem;line-height:1.7}
.rava-access-card[data-rava-identity] .rava-access-step label{display:block}
.rava-access-card[data-rava-identity] .rava-access-step input{min-height:50px;border-radius:0}
.rava-access-card[data-rava-identity] .rava-access-step input[aria-invalid="true"]{border-color:var(--ri-danger);box-shadow:0 0 0 1px var(--ri-danger)}
.rava-access-card[data-rava-identity] .rava-access-entry{display:grid;grid-template-columns:minmax(0,1fr) 112px}
.rava-access-card[data-rava-identity] .rava-access-entry .rava-access-primary{display:flex!important;visibility:visible!important;opacity:1!important;width:112px!important;min-height:50px!important;margin:0!important;border-radius:0!important;background:var(--ri-ink)!important;color:#fff!important}
.rava-access-card[data-rava-identity] .rava-access-entry .rava-access-primary:hover{background:#272724!important;color:#fff!important}
.rava-access-card[data-rava-identity] .rava-access-format{margin-top:7px;font-size:.64rem;line-height:1.6}
.rava-access-card[data-rava-identity] .rava-access-message{min-height:18px;margin-top:8px;line-height:1.5}
.rava-access-card[data-rava-identity] .rava-access-step>.rava-access-primary{position:relative;display:flex!important;align-items:center;justify-content:center;gap:9px;min-height:50px;margin-top:12px;border-radius:0;background:var(--ri-ink)!important;color:#fff!important;border-color:var(--ri-ink)!important;opacity:1!important}
.rava-access-card[data-rava-identity] .rava-access-step>.rava-access-primary:hover:not(:disabled){background:#272724!important;color:#fff!important}
.rava-access-card[data-rava-identity] .rava-access-step>.rava-access-primary:focus-visible{outline:3px solid rgba(17,17,15,.2);outline-offset:3px}
.rava-access-card[data-rava-identity] .rava-access-step>.rava-access-primary:disabled{background:#595954!important;color:#fff!important;border-color:#595954!important;cursor:not-allowed;opacity:1!important}
.rava-access-card[data-rava-identity] .rava-access-step>button.is-loading:not(.rava-access-back):not(.rava-access-resend)::after{content:"";width:14px;height:14px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:ravaIdentityBusy .7s linear infinite}
.rava-access-card[data-rava-identity] .rava-access-password-field{display:grid;grid-template-columns:minmax(0,1fr) auto}
.rava-access-card[data-rava-identity] .rava-access-password-toggle{position:static!important}
.rava-access-card[data-rava-identity] .rava-access-code-input{text-align:center;direction:ltr;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.34em}
.rava-access-card[data-rava-identity] .rava-access-methods{gap:8px}
.rava-access-card[data-rava-identity] .rava-access-methods button{min-height:64px!important;padding:12px 14px!important;border-radius:0!important}
.rava-access-card[data-rava-identity] .rava-access-back,.rava-access-card[data-rava-identity] .rava-access-resend{font-size:.7rem}
@keyframes ravaIdentityBusy{to{transform:rotate(1turn)}}
@media(max-width:600px){.rava-access-card[data-rava-identity] .rava-access-entry{grid-template-columns:minmax(0,1fr) 94px}.rava-access-card[data-rava-identity] .rava-access-entry .rava-access-primary{width:94px!important}}
@media(prefers-reduced-motion:reduce){.rava-access-card[data-rava-identity] .rava-access-step>button.is-loading::after{animation-duration:1.4s}}

/* Final convergence — focused premium authentication. */
.rava-identity-page{display:grid;min-height:calc(100dvh - var(--rava-header-offset,0px));background:#f4f3ef}
.rava-identity-shell.rava-identity-shell--focused{width:min(100% - 28px,430px);min-height:calc(100dvh - var(--rava-header-offset,0px));margin:auto;padding:clamp(24px,5vh,52px) 0;display:flex;flex-direction:column;justify-content:center;gap:18px}
.rava-access-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:#626059;font:650 10px/1 var(--ri-mono);letter-spacing:.22em}.rava-access-brand i{width:34px;height:1px;background:#b8b6ae}
.rava-access-card[data-rava-identity]{width:100%;box-sizing:border-box;padding:clamp(26px,5vw,42px)!important;border:1px solid #d8d6cf;background:#fff;box-shadow:0 22px 70px rgba(24,24,20,.055)!important}
.rava-access-card[data-rava-identity] .rava-access-step h1{margin:0 0 24px;font:520 clamp(30px,7vw,40px)/1.2 var(--ri-serif);letter-spacing:-.035em}
.rava-access-card[data-rava-identity] .rava-access-back{margin:0 0 22px;padding:0;color:#77756e;font-size:11px;text-decoration:none}
.rava-access-card[data-rava-identity] .rava-access-back:before{content:"→";margin-inline-end:7px}
.rava-access-card[data-rava-identity] .rava-access-entry{display:grid;grid-template-columns:minmax(0,1fr) 104px;border:1px solid #bdbbb4;background:#fff}
.rava-access-card[data-rava-identity] .rava-access-entry:focus-within{border-color:#11110f;box-shadow:0 0 0 1px #11110f}
.rava-access-card[data-rava-identity] .rava-access-entry input{min-width:0;border:0!important;box-shadow:none!important}
.rava-access-card[data-rava-identity] .rava-access-entry .rava-access-primary{width:104px!important;border:0!important;border-inline-start:1px solid #11110f!important;align-items:center;justify-content:center;gap:9px}
.rava-access-card[data-rava-identity] .rava-access-identity-chip{width:fit-content;max-width:100%;margin:-12px 0 22px;padding:7px 10px;background:#f3f2ee;color:#5f5d56;font:600 11px/1.4 var(--ri-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rava-access-card[data-rava-identity] .rava-access-methods{display:grid;gap:0;border:1px solid #d3d1ca}
.rava-access-card[data-rava-identity] .rava-access-methods button{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;min-height:62px!important;padding:0 16px!important;border:0!important;border-bottom:1px solid #d3d1ca!important;background:#fff!important;text-align:right!important}
.rava-access-card[data-rava-identity] .rava-access-methods button:last-child{border-bottom:0!important}.rava-access-card[data-rava-identity] .rava-access-methods button:hover{background:#f6f5f1!important}.rava-access-card[data-rava-identity] .rava-access-methods button span{font:600 15px/1.4 var(--ri-sans)}.rava-access-card[data-rava-identity] .rava-access-methods button b{font-weight:400;color:#77756e}
.rava-access-card[data-rava-identity] .rava-access-password-field{display:grid;grid-template-columns:minmax(0,1fr) 72px;border:1px solid #bdbbb4}.rava-access-card[data-rava-identity] .rava-access-password-field:focus-within{border-color:#11110f;box-shadow:0 0 0 1px #11110f}.rava-access-card[data-rava-identity] .rava-access-password-field input{border:0!important;box-shadow:none!important}.rava-access-card[data-rava-identity] .rava-access-password-toggle{border:0;border-inline-start:1px solid #d3d1ca;background:#fff;color:#626059;font-size:11px;cursor:pointer}
.rava-access-card[data-rava-identity] .rava-access-code-input{min-height:64px!important;text-align:center;letter-spacing:.5em!important;font-size:22px!important;border-color:#bdbbb4!important}
.rava-access-card[data-rava-identity] .rava-access-step>.rava-access-primary{min-height:52px!important;margin-top:12px!important;border-radius:0!important}
.rava-access-card[data-rava-identity] .rava-access-resend{margin-top:17px!important;color:#67655f!important;font-size:11px!important;text-decoration:underline;text-underline-offset:4px}
.rava-access-card[data-rava-identity] .rava-access-message{min-height:18px;margin:13px 0 0;text-align:center;font-size:11px}
@media(max-width:600px){.rava-identity-shell.rava-identity-shell--focused{width:min(100% - 20px,430px);padding:14px 0;justify-content:center}.rava-access-card[data-rava-identity]{padding:24px 18px!important}.rava-access-brand{display:none}.rava-access-card[data-rava-identity] .rava-access-step h1{font-size:31px;margin-bottom:20px}}
@media(max-height:620px){.rava-identity-shell.rava-identity-shell--focused{justify-content:flex-start;padding-block:10px}.rava-access-card[data-rava-identity]{padding-block:20px!important}.rava-access-card[data-rava-identity] .rava-access-step h1{font-size:28px;margin-bottom:16px}.rava-access-card[data-rava-identity] .rava-access-back{margin-bottom:14px}.rava-access-card[data-rava-identity] .rava-access-identity-chip{margin-bottom:15px}.rava-access-card[data-rava-identity] .rava-access-methods button{min-height:55px!important}}
/* The assertive failure region shares the message styling, but only one of the two
   regions ever holds text. Without this it reserves a second empty row beside the
   polite one, which costs vertical space on the 320px access card. */
.rava-access-message--error{min-height:0}
.rava-access-card[data-rava-identity] .rava-access-message--error{min-height:0}
.rava-access-message--error:empty{margin:0}

.rava-access-hint{margin:.6rem 0 0;color:var(--rava-text-muted,#6b6f68);font-size:.8rem;line-height:1.7}
