.auth-page{min-height:100vh;margin:0;padding:24px;display:grid;place-items:center;overflow-x:hidden;background:linear-gradient(135deg,#082b52 0 41%,#f5f8fb 41%);font-family:Inter,Segoe UI,Arial,sans-serif}
.auth-shell{display:grid;grid-template-columns:1.08fr .92fr;width:min(980px,100%);overflow:hidden;border-radius:18px;box-shadow:0 22px 60px rgba(4,28,54,.3)}
.auth-institution-panel{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:44px 48px;color:#fff;background:#0b3c70}
.auth-institution-logo{display:block;width:auto;max-width:min(230px,100%);height:94px;margin-bottom:28px;padding:8px;background:#fff;border-radius:12px;object-fit:contain}
.auth-institution-panel h1{max-width:470px;margin:0;color:#fff;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.12}
.auth-institution-statement{margin:16px 0 0;color:#f2f6fa;font-size:1.05rem;line-height:1.5}
.auth-institution-panel address{display:grid;gap:4px;margin-top:28px;color:#f2f6fa;font-style:normal;line-height:1.45}
.auth-institution-panel address span{display:block}
.auth-form-panel{padding:48px;background:#fff}
.auth-platform-title{margin:0;color:#082b52;font-size:clamp(1.55rem,2.35vw,1.8rem);font-weight:900;line-height:1.15;text-transform:uppercase;white-space:nowrap}
.auth-form-title{margin:12px 0 0;color:#0b3c70;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;line-height:1.25}
.auth-form-panel label{display:block;margin:17px 0 7px;font-weight:800;text-transform:uppercase}
.auth-form-panel input{width:100%;min-height:44px;padding:11px;border:1px solid #dce5ee;border-radius:8px}
.auth-form-panel input:focus-visible,.auth-form-panel button:focus-visible,.auth-form-panel a:focus-visible{outline:3px solid #8bc4f7;outline-offset:3px}
.auth-primary-action,.auth-secondary-action{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;margin-top:18px;padding:11px 16px;border-radius:8px;font-weight:800;text-align:center;text-decoration:none}
.auth-primary-action{color:#fff;background:#0d5aa7;border:1px solid #0d5aa7}
.auth-secondary-action{color:#0d5aa7;background:#fff;border:1px solid #0d5aa7}
.auth-user-summary{display:grid;gap:4px;margin:20px 0;padding:15px;background:#e8f2fc;text-align:center}.auth-user-summary strong,.auth-user-summary span{display:block;min-width:0}.auth-user-summary__eyebrow{color:#0b3c70;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.session-lock-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.session-lock-actions form{margin:0}.session-lock-actions .auth-primary-action,.session-lock-actions .auth-secondary-action{width:auto;margin-top:0}.session-lock-actions .auth-primary-action{order:2}.session-lock-actions .auth-secondary-action{order:1}
.auth-footer{display:flex;flex-direction:column;align-items:center;margin-top:30px;color:#66788a;font-size:.75rem;line-height:1.4;text-align:center}.auth-access-caption,.auth-developer-credit{display:block}.auth-developer-credit{margin-top:10px;color:#0b3c70;font-size:.7rem;letter-spacing:.05em}
.auth-error{padding:12px;border-left:4px solid #b42318;background:#fff0ee;color:#b42318}
.login-logo{display:block;width:auto;height:94px;padding:8px;background:#fff;border-radius:12px;object-fit:contain}
@media(max-width:900px){.auth-page{padding:18px}.auth-shell{grid-template-columns:1fr 1fr}.auth-institution-panel,.auth-form-panel{padding:36px}.auth-institution-logo{height:82px;margin-bottom:24px}.auth-institution-panel h1{font-size:1.7rem}.auth-institution-panel address{margin-top:22px;font-size:.9rem}}
@media(max-width:680px){.auth-page{padding:12px;background:#f5f8fb}.auth-shell{grid-template-columns:1fr;border-radius:14px}.auth-institution-panel,.auth-form-panel{padding:26px}.auth-institution-panel{justify-content:flex-start}.auth-institution-logo{height:70px;margin-bottom:22px}.auth-institution-panel h1{font-size:1.5rem}.auth-institution-statement{margin-top:12px;font-size:.95rem}.auth-institution-panel address{margin-top:18px;font-size:.84rem}.auth-form-panel{padding-top:30px}.auth-platform-title{font-size:clamp(1.3rem,7vw,1.65rem)}.session-lock-actions{align-items:stretch;flex-direction:column}.session-lock-actions form,.session-lock-actions button{width:100%}.session-lock-actions .auth-primary-action,.session-lock-actions .auth-secondary-action{width:100%}}
@media(max-width:420px){.auth-platform-title{white-space:normal;text-wrap:balance}}
@media(max-width:380px){.auth-page{padding:0}.auth-shell{border-radius:0;box-shadow:none}.auth-institution-panel,.auth-form-panel{padding:22px}.auth-institution-logo{height:64px}.auth-institution-panel h1{font-size:1.32rem}}
