body.psp-auth-page { background: var(--psp-slate-100); min-height: 100vh; }
.psp-auth-shell { display: grid; grid-template-columns: minmax(20rem, 41%) minmax(0, 59%); min-height: 100vh; }
.psp-auth-shell__brand { background: var(--psp-navy-900); color: var(--psp-white); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(2rem, 5vw, 5rem); position: relative; }
.psp-auth-shell__brand::after { border: 1px solid rgb(255 255 255 / 8%); border-radius: 50%; content: ""; height: 34rem; position: absolute; right: -18rem; top: 22%; width: 34rem; }
.psp-auth-shell__brand .psp-brand, .psp-auth-shell__brand .psp-auth-shell__intro, .psp-auth-shell__brand .psp-auth-shell__security { position: relative; z-index: 1; }
.psp-auth-shell__brand .psp-brand__link { color: var(--psp-white) !important; }
.psp-auth-shell__brand .psp-brand__text small { color: #b7c7d9; }
.psp-auth-shell__intro { max-width: 30rem; }
.psp-auth-shell__intro .psp-eyebrow { color: #7cbcff; }
.psp-auth-shell__intro h2 { font-size: clamp(2.1rem, 4vw, 4rem); letter-spacing: -.05em; line-height: 1.04; margin: 0 0 1.2rem; }
.psp-auth-shell__intro p { color: #bfd0e2; font-size: 1rem; line-height: 1.7; }
.psp-auth-shell__security { color: #b7c7d9; font-size: .82rem; }
.psp-auth-shell__security span { color: #70dfa3; margin-right: .35rem; }
.psp-auth-shell__main { align-items: center; display: flex; justify-content: center; min-width: 0; padding: clamp(1.25rem, 5vw, 5rem); }
.ps-auth__card { background: var(--psp-white); border: 1px solid var(--psp-slate-200); border-radius: var(--psp-radius-lg); box-shadow: var(--psp-shadow); max-width: 36rem; padding: clamp(1.5rem, 4vw, 2.6rem); width: 100%; }
.psp-route-register .ps-auth__card { max-width: 48rem; }
.ps-auth__card h1 { font-size: clamp(1.8rem, 4vw, 2.45rem); letter-spacing: -.04em; line-height: 1.1; margin: 0 0 .8rem; }
.ps-auth__card > p { color: var(--psp-slate-700); line-height: 1.65; }
.ps-form { display: grid; gap: .85rem; margin-top: 1.35rem; }
.ps-form fieldset { border: 0; border-top: 1px solid var(--psp-slate-200); display: grid; gap: .75rem; margin: 1rem 0 0; min-width: 0; padding: 1.3rem 0 0; }
.ps-form fieldset:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }
.ps-form legend { color: var(--psp-navy-900); font-size: .95rem; font-weight: 800; padding: 0 .6rem 0 0; }
.ps-form label { color: var(--psp-navy-800); font-size: .84rem; font-weight: 700; }
.ps-form input:not([type="checkbox"]), .ps-form select { appearance: none; background: var(--psp-white); border: 1px solid #a9b7c7; border-radius: .58rem; color: var(--psp-navy-950); font: inherit; max-width: 100%; min-height: 3rem; padding: .65rem .78rem; width: 100%; }
.ps-form input:not([type="checkbox"]):hover, .ps-form select:hover { border-color: var(--psp-slate-700); }
.ps-form input:not([type="checkbox"]):focus, .ps-form select:focus { border-color: var(--psp-blue-600); box-shadow: 0 0 0 4px rgb(8 116 223 / 12%); outline: 0; }
.ps-form select { background-image: linear-gradient(45deg, transparent 50%, var(--psp-slate-700) 50%), linear-gradient(135deg, var(--psp-slate-700) 50%, transparent 50%); background-position: calc(100% - 1.05rem) 1.25rem, calc(100% - .75rem) 1.25rem; background-repeat: no-repeat; background-size: .32rem .32rem; padding-right: 2.25rem; }
.ps-check { align-items: flex-start; display: flex; gap: .6rem; line-height: 1.5; margin: .25rem 0; }
.ps-check input { accent-color: var(--psp-blue-700); flex: 0 0 auto; height: 1rem; margin-top: .15rem; width: 1rem; }
.ps-help { color: var(--psp-slate-500); font-size: .78rem; margin: -.4rem 0 .15rem; }
.ps-button { background: var(--psp-blue-700); border: 1px solid var(--psp-blue-700); border-radius: .62rem; color: var(--psp-white); cursor: pointer; display: inline-flex; font: inherit; font-weight: 750; justify-content: center; min-height: 3rem; padding: .7rem 1rem; text-decoration: none; }
.ps-button:hover { background: #064f9f; border-color: #064f9f; color: var(--psp-white); }
.ps-button:disabled { cursor: wait; opacity: .68; }
.ps-alert { border: 1px solid var(--psp-slate-200); border-left-width: .28rem; border-radius: .55rem; margin: 1rem 0 1.25rem; min-height: 3.4rem; padding: .8rem 1rem; }
.ps-alert p { margin: 0; }
.ps-alert ul { margin-bottom: 0; padding-left: 1.25rem; }
.ps-alert--error { background: var(--psp-danger-bg); border-color: #efb7b2; border-left-color: var(--psp-danger); }
.ps-alert--success { background: var(--psp-success-bg); border-color: #b7dfca; border-left-color: var(--psp-success); }
.ps-alert--warning { background: var(--psp-warning-bg); border-color: #edd38e; border-left-color: var(--psp-warning); }
.ps-alert--info { background: var(--psp-blue-100); border-color: #b7d8f7; border-left-color: var(--psp-blue-700); }
.ps-auth__links { color: var(--psp-slate-500); font-size: .84rem; line-height: 2; margin: 1.3rem 0 0; }
.ps-auth__links a { font-weight: 700; text-underline-offset: .2rem; }
.ps-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; top: auto; width: 1px; }
.ps-password-field { align-items: center; display: grid; grid-template-columns: 1fr auto; position: relative; }
.ps-password-field input { grid-column: 1 / -1; grid-row: 1; padding-right: 4.8rem !important; }
.ps-password-toggle { background: transparent; border: 0; color: var(--psp-blue-700); cursor: pointer; font: inherit; font-size: .76rem; font-weight: 750; grid-column: 2; grid-row: 1; margin-right: .65rem; padding: .35rem; position: relative; }
[hidden] { display: none !important; }
