/* Shared access/onboarding/subscription presentation. No auth or billing changes. */
html:root body.msp-access{min-width:0;min-height:100dvh;padding:70px 20px 40px!important;font-family:var(--msp-font)!important}
html:root body.msp-access .shell{width:min(470px,100%);min-width:0;max-width:100%;margin-inline:auto}
html:root body.msp-access .card{width:100%;max-width:470px;min-width:0;padding:28px!important;margin-inline:auto;border:1px solid var(--msp-line)!important;border-radius:12px!important;background:var(--msp-card)!important;box-shadow:none!important}
html:root body.msp-access .card :is(h1,h2){display:block;font-family:var(--msp-font)!important;font-size:28px!important;font-weight:600;line-height:1.25!important;letter-spacing:-.025em;margin:0 0 18px!important;overflow-wrap:break-word}
html:root body.msp-access .card :is(p,.trial,.note,.back,.account-hint,.access-note,.message,.error){font-size:14px!important;line-height:1.55!important;overflow-wrap:anywhere;max-width:100%}
html:root body.msp-access .card label{display:block;font-size:14px!important;line-height:1.5!important;font-weight:500!important;margin:16px 0 7px!important}
html:root body.msp-access .card :is(input,select){display:block;width:100%;min-width:0;max-width:100%;min-height:48px!important;height:48px!important;padding:10px 12px!important;font:400 16px/1.4 var(--msp-font)!important;border:1px solid var(--msp-line)!important;border-radius:8px!important;box-sizing:border-box}
html:root body.msp-access .card button{min-height:48px!important;height:auto!important;font-size:15px!important;line-height:1.4!important;padding:12px 14px!important;border-radius:8px!important;white-space:normal}
html:root body.msp-access .card :is(.trial,.access-note){padding:12px!important;border:1px solid var(--msp-line);border-radius:8px;background:var(--msp-soft)!important}
html:root body.msp-access .card :is(.message,.error):empty{display:none}
html:root body.msp-access .card :is(.message,.error):not(:empty){margin-top:16px!important;padding:12px!important;border:1px solid var(--msp-line);border-radius:8px}
html:root body.msp-access .card .password-wrap{position:relative;min-width:0}
html:root body.msp-access .card .password-wrap input{padding-right:58px!important}
html:root body.msp-access .card .password-toggle{position:absolute;display:grid;place-items:center;top:50%;right:4px;transform:translateY(-50%);width:40px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--msp-ink)!important;border-radius:6px!important;cursor:pointer}
html:root body.msp-access .card :is(a,button,input,select):focus-visible{outline:2px solid var(--msp-link)!important;outline-offset:3px}
html:root body.msp-access .back a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;white-space:normal}
html:root body.msp-onboarding .intro h1{font-size:clamp(28px,3vw,38px)!important;line-height:1.25!important;letter-spacing:-.025em;overflow-wrap:break-word}
html:root body.msp-onboarding :is(.status,.helper,.notice){font-size:15px!important;line-height:1.55!important;overflow-wrap:anywhere}
html:root body.msp-product .trial-lifecycle-title{font-size:15px!important;line-height:1.4!important}
html:root body.msp-product .trial-lifecycle-text{font-size:14px!important;line-height:1.55!important}
html:root body.msp-product .trial-lifecycle-cta{min-height:44px!important;height:auto!important;padding:10px 14px;font-size:14px!important;line-height:1.4!important}
@media(max-width:580px){
 html:root body.msp-access{padding:64px 16px 32px!important;place-items:start center}
 html:root body.msp-access .card{padding:22px 18px!important}
 html:root body.msp-access .card :is(h1,h2){font-size:26px!important}
 html:root body.msp-onboarding .step{grid-template-columns:32px minmax(0,1fr)!important;gap:12px!important}
}

/* Shared password recovery brand: defer typography to the common theme. */
html:root body.msp-access :where(.shell){width:min(470px,100%)}html:root body.msp-access :where(.brand){margin-bottom:20px;display:flex;justify-content:center}html:root body.msp-access :where(.brand-lockup){display:flex;gap:12px;align-items:flex-start}html:root body.msp-access :where(.bars){display:flex;align-items:flex-end;gap:3px;width:36px;height:43px}html:root body.msp-access :where(.bars i){display:block;width:6px;border-radius:5px;background:linear-gradient(180deg,#19d8ff,#0d6eff)}html:root body.msp-access :where(.bars i:nth-child(1)){height:17px}html:root body.msp-access :where(.bars i:nth-child(2)){height:27px}html:root body.msp-access :where(.bars i:nth-child(3)){height:36px}html:root body.msp-access :where(.bars i:nth-child(4)){height:43px}html:root body.msp-access :where(.brand-title){font-size:19px;font-weight:800;line-height:1.03;color:#102f59}html:root body.msp-access :where(.tagline){font-size:10px;line-height:1.5;margin-top:11px;color:#5e7692}
