.auth-page{min-height:100svh;background:#faf9fa;color:#281d30;display:flex;flex-direction:column}.auth-header{display:flex;align-items:center;justify-content:space-between;padding:30px clamp(24px,5vw,80px);border-bottom:1px solid #e8e4e9;background:#fff}.auth-header>a:last-child{font-size:.9rem}.auth-main{width:min(1080px,100% - 48px);margin:auto;padding:72px 0;display:grid;grid-template-columns:1fr 420px;gap:clamp(40px,7vw,100px);align-items:center}.auth-intro .eyebrow{color:#a62155;margin:0 0 24px}.auth-intro h1{font-size:clamp(2.6rem,4.8vw,4.4rem);line-height:1.08;letter-spacing:-.055em;font-weight:650;margin:0 0 28px}.auth-intro h1 span{color:#ca205d}.auth-intro>p{font-size:1.08rem;line-height:1.75;max-width:390px;color:#675d6c}.auth-affiliation{display:block;margin-top:50px;font-size:.9rem;color:#726879}.auth-card{background:#fff;border:1px solid #e5e0e7;border-radius:20px;padding:36px;box-shadow:0 12px 40px #281d3005}.auth-card h2{font-size:1.6rem;letter-spacing:-.035em;margin:0 0 8px}.auth-card>p{color:#6a606f;font-size:.94rem;line-height:1.6;margin:0 0 28px}.auth-form{display:grid;gap:20px}.auth-field{display:grid;gap:8px;font-size:.94rem;font-weight:600}.auth-field input,.activation-result input{width:100%;min-width:0;min-height:52px;border:1px solid #cdc5d1;border-radius:9px;background:#fff;padding:12px 14px;color:#281d30;font:inherit;font-weight:400}.auth-field input:focus-visible{outline:3px solid #f7c8da;outline-offset:2px;border-color:#ba285c}.password-field{position:relative;display:block}.password-field input{padding-right:73px}.password-field button{position:absolute;right:6px;top:6px;height:40px;padding:0 10px;background:none;border:0;font-size:.85rem;color:#7d3253;border-radius:5px}.auth-field small{font-weight:400;line-height:1.5;color:#726879;font-size:.82rem}.auth-form .button{width:100%;justify-content:center;min-height:52px}.auth-error{border-left:3px solid #bd2355;background:#fff2f6;padding:12px 14px;color:#8e1740;font-size:.9rem;line-height:1.5}.auth-error:empty{display:none}.auth-support{margin-top:24px;border-top:1px solid #eee9ef;padding-top:20px;color:#625969;font-size:.88rem;line-height:1.6}.auth-support summary{cursor:pointer;min-height:30px;color:#281d30}.auth-support a{color:#9c214c;text-decoration:underline;text-underline-offset:3px}.auth-footer{padding:24px;text-align:center;font-size:.82rem;color:#716578}.auth-footer a{text-decoration:underline;text-underline-offset:3px}.auth-success-note{color:#33674b;background:#edf7f0;padding:12px 14px;border-radius:8px;font-size:.9rem}.auth-loading{position:fixed;inset:0;display:grid;place-content:center;text-align:center;background:#faf9fa;z-index:1000}.auth-loading p{color:#675d6c}.auth-loading[hidden]{display:none}.session-pending .portal-sidebar,.session-pending .portal-shell,.session-pending #portal-dialog,.session-pending .admin-shell{visibility:hidden}.admin-shell{width:min(1080px,100% - 48px);margin:0 auto;padding:52px 0}.admin-heading{margin-bottom:30px}.admin-heading h1{font-size:2.5rem;letter-spacing:-.05em;margin:14px 0}.admin-heading p{color:#706675;max-width:620px;line-height:1.65}.admin-layout{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}.admin-layout .auth-card{padding:28px}.admin-accounts{list-style:none;margin:0;padding:0}.admin-accounts li{padding:18px 0;border-bottom:1px solid #eee9ef;display:flex;gap:14px;justify-content:space-between;align-items:center}.admin-accounts li:last-child{border:0}.admin-accounts strong,.admin-accounts small{display:block;overflow-wrap:anywhere}.admin-accounts small{font-size:.84rem;color:#776c7c;margin-top:4px}.admin-accounts button{flex-shrink:0;font:inherit;font-size:.85rem;border:1px solid #ddd4e1;background:white;padding:10px;border-radius:8px}.activation-result{margin-top:24px;padding:20px;background:#faf1f5;border-radius:10px}.activation-result h3{margin:0 0 8px}.activation-result p{font-size:.9rem;line-height:1.6;color:#6a5866}.activation-result button{margin-top:12px;width:100%}.activation-result input{font-size:.8rem}.auth-card [hidden],.auth-form [hidden]{display:none}.auth-page button:disabled{cursor:wait;opacity:.55}.session-pending .auth-header{visibility:hidden}.admin-count{font-size:.85rem;font-weight:400;color:#756779}.admin-error{max-width:600px;margin-bottom:24px}.auth-page .logo-mark{width:36px}.auth-page .logo{font-size:2rem}
@media(max-width:850px){.auth-main{grid-template-columns:1fr;max-width:480px;padding:40px 0;gap:28px}.auth-intro h1{font-size:2.6rem}.auth-intro>p{font-size:1rem;max-width:none}.auth-intro .eyebrow{margin-bottom:14px}.auth-affiliation{display:none}.auth-card{padding:28px}.admin-layout{grid-template-columns:1fr}.auth-header{padding:22px 24px}.admin-accounts li{flex-wrap:wrap}.admin-shell{padding-top:28px}}
@media(prefers-reduced-motion:no-preference){.auth-card{animation:auth-enter .35s ease-out}@keyframes auth-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
.auth-form .button,.activation-result .button{white-space:normal}.admin-heading h1{font-size:clamp(2rem,4vw,2.5rem)}

.account-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:230px}.account-actions button{font-size:.85rem!important}.account-actions .account-delete{color:#a32949;border:0;background:transparent}.admin-accounts li{align-items:flex-start}@media(max-width:600px){.admin-accounts li{flex-direction:column;gap:16px}.account-actions{justify-content:flex-start;max-width:none}}
