/* Build 24.10.10 — University Library authentication UI refresh. */
.wpu-auth-shell,
.wpu-auth-shell *{box-sizing:border-box}
.wpu-auth-shell{min-height:100vh;margin:0;display:flex;flex-direction:column;background:
  radial-gradient(circle at 18% 16%,rgba(44,124,210,.10),transparent 31%),
  radial-gradient(circle at 82% 84%,rgba(71,143,214,.08),transparent 28%),
  linear-gradient(150deg,#f8fbff 0%,#f3f7fb 50%,#eef4fb 100%);color:var(--wpu-ds-text)}
.wpu-auth-shell:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(11,79,156,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,79,156,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 72%)}
.wpu-auth-identity-bar{position:relative;z-index:2;width:min(calc(100% - 40px),1180px);min-height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wpu-auth-brand{display:inline-flex;align-items:center;gap:11px;color:var(--wpu-ds-text);text-decoration:none}
.wpu-auth-brand:hover{color:var(--wpu-ds-text)}
.wpu-auth-brand img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(22,57,92,.10))}
.wpu-auth-brand span{display:grid;line-height:1.08}.wpu-auth-brand strong{font-size:.9rem;font-weight:780}.wpu-auth-brand small{margin-top:4px;color:var(--wpu-ds-text-3);font-size:.7rem;font-weight:650}
.wpu-auth-back-link{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:11px;color:var(--wpu-ds-text-2);font-size:.8rem;font-weight:680;text-decoration:none;transition:background var(--wpu-ds-motion-fast) var(--wpu-ds-ease),color var(--wpu-ds-motion-fast) var(--wpu-ds-ease),border-color var(--wpu-ds-motion-fast) var(--wpu-ds-ease)}
.wpu-auth-back-link:hover{border-color:#dbe7f2;background:rgba(255,255,255,.82);color:var(--wpu-ds-primary)}

/* Legacy two-column mode remains available for other authentication surfaces. */
.wpu-auth-layout{position:relative;z-index:1;width:min(calc(100% - 40px),1080px);margin:auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(380px,.78fr);gap:clamp(30px,5vw,72px);align-items:center;padding:34px 0 58px}
.wpu-auth-context{position:relative;padding:42px;border:1px solid #d8e6f4;border-radius:22px;background:linear-gradient(145deg,#edf6ff 0%,#f8fbff 72%);overflow:hidden;box-shadow:0 22px 70px rgba(24,64,110,.08)}
.wpu-auth-context:after{content:"";position:absolute;width:240px;height:240px;right:-110px;bottom:-130px;border-radius:50%;background:radial-gradient(circle,rgba(11,79,156,.13),rgba(11,79,156,0) 68%);pointer-events:none}
.wpu-auth-kicker{display:block;margin-bottom:9px;color:var(--wpu-ds-primary);font-size:.67rem;font-weight:820;letter-spacing:.13em;text-transform:uppercase}
.wpu-auth-context h1{max-width:16ch;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;letter-spacing:-.045em}.wpu-auth-context>p{max-width:52ch;margin:18px 0 24px;color:var(--wpu-ds-text-2);font-size:1rem}
.wpu-auth-context ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.wpu-auth-context li{display:flex;align-items:center;gap:9px;color:#33465e;font-size:.84rem;font-weight:620}.wpu-auth-context li span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#dff2e8;color:var(--wpu-ds-success);font-size:.68rem;font-weight:900}
.wpu-auth-context-note{display:inline-flex;align-items:center;gap:8px;margin-top:30px;padding:8px 10px;border:1px solid #d9e5f1;border-radius:9px;background:rgba(255,255,255,.72);color:var(--wpu-ds-text-3);font-size:.72rem;font-weight:650}.wpu-auth-context-note span{color:var(--wpu-ds-success);font-size:.55rem}

/* Focused Library mode: one clean centered authentication card, no left context panel. */
.wpu-auth-layout.is-focused{width:min(calc(100% - 32px),560px);grid-template-columns:minmax(0,1fr);gap:0;padding:32px 0 62px}
.wpu-auth-layout.is-focused.is-wide{width:min(calc(100% - 32px),780px)}
.wpu-auth-panel{width:100%;padding:clamp(28px,4vw,40px);border:1px solid #d8e3ee;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(29,57,88,.12),0 2px 8px rgba(29,57,88,.04);backdrop-filter:blur(10px)}
.wpu-auth-layout.is-focused .wpu-auth-panel{animation:wpu-auth-rise .28s ease-out both}
@keyframes wpu-auth-rise{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}

.wpu-auth-service{display:flex;align-items:center;gap:13px;margin:-2px 0 26px;padding:0 0 20px;border-bottom:1px solid #edf2f7}
.wpu-auth-service-mark{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #d8e5f2;border-radius:15px;background:linear-gradient(145deg,#f7fbff,#eaf4ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.wpu-auth-service-mark img{width:35px;height:35px;object-fit:contain}
.wpu-auth-service-copy{min-width:0;display:grid;gap:2px;font-style:normal}
.wpu-auth-service-copy small{color:var(--wpu-ds-primary);font-size:.62rem;font-weight:820;letter-spacing:.11em;text-transform:uppercase}
.wpu-auth-service-copy strong{color:#132a43;font-size:1.03rem;font-weight:800;letter-spacing:-.018em}
.wpu-auth-service-copy em{color:var(--wpu-ds-text-3);font-size:.74rem;font-style:normal;font-weight:550}

.wpu-auth-panel-head{margin-bottom:24px}.wpu-auth-panel-head h2{margin:0;font-size:clamp(1.75rem,4vw,2.1rem);line-height:1.08;letter-spacing:-.04em}.wpu-auth-panel-head p{max-width:58ch;margin:10px 0 0;color:var(--wpu-ds-text-3);font-size:.88rem;line-height:1.55}
.wpu-auth-form{display:grid;gap:17px}.wpu-auth-field{min-width:0;display:grid;gap:7px}.wpu-auth-field>label,.wpu-auth-field-label{color:#24384e;font-size:.76rem;font-weight:730}
.wpu-auth-input-shell{position:relative;width:100%;min-width:0}
.wpu-auth-input-shell input,.wpu-auth-field input,.wpu-auth-field select{display:block;width:100%;max-width:100%;min-height:50px;border:1px solid #bfcfe0;border-radius:11px;background:#fff;color:var(--wpu-ds-text);padding:11px 13px;font:inherit;font-size:.9rem;line-height:1.25;transition:border-color var(--wpu-ds-motion-fast) var(--wpu-ds-ease),box-shadow var(--wpu-ds-motion-fast) var(--wpu-ds-ease),background var(--wpu-ds-motion-fast) var(--wpu-ds-ease)}
.wpu-auth-field select{padding-right:38px}
.wpu-auth-input-shell input:hover,.wpu-auth-field input:hover,.wpu-auth-field select:hover{border-color:#9fb6ce}
.wpu-auth-input-shell input:focus,.wpu-auth-field input:focus,.wpu-auth-field select:focus{border-color:var(--wpu-ds-primary);outline:0;box-shadow:0 0 0 4px rgba(11,79,156,.11)}
.wpu-auth-input-shell.has-toggle input{padding-right:64px!important}
.wpu-auth-password-toggle{position:absolute!important;z-index:2;right:6px!important;top:50%!important;transform:translateY(-50%)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--wpu-ds-primary)!important;font-size:.72rem!important;font-weight:720!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
.wpu-auth-password-toggle:hover{background:#edf5ff!important;color:var(--wpu-ds-primary-strong)!important}
.wpu-auth-password-toggle:focus-visible{outline:2px solid var(--wpu-ds-primary)!important;outline-offset:1px!important;box-shadow:none!important}
.wpu-auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px}.wpu-auth-check{display:inline-flex;align-items:center;gap:8px;color:var(--wpu-ds-text-2);font-size:.78rem}.wpu-auth-check input{accent-color:var(--wpu-ds-primary)}
.wpu-auth-text-button,.wpu-auth-link{border:0;background:transparent;color:var(--wpu-ds-primary);font:inherit;font-size:.78rem;font-weight:680;text-decoration:none;padding:0}.wpu-auth-text-button:hover,.wpu-auth-link:hover{text-decoration:underline}
.wpu-auth-submit{width:100%;min-height:50px;margin-top:1px;border:1px solid var(--wpu-ds-primary);border-radius:11px;background:linear-gradient(180deg,#1765b8 0%,#0b57a4 100%);color:#fff;font:inherit;font-size:.88rem;font-weight:780;box-shadow:0 10px 22px rgba(11,79,156,.18);transition:transform var(--wpu-ds-motion-fast) var(--wpu-ds-ease),background var(--wpu-ds-motion-fast) var(--wpu-ds-ease),box-shadow var(--wpu-ds-motion-fast) var(--wpu-ds-ease)}
.wpu-auth-submit:hover{background:linear-gradient(180deg,#0e5dad 0%,#084b92 100%);box-shadow:0 14px 28px rgba(11,79,156,.22)}.wpu-auth-submit:active{transform:scale(.99)}.wpu-auth-submit:disabled{opacity:.68;cursor:wait}
.wpu-auth-alert{margin-bottom:17px;padding:12px 13px;border:1px solid;border-radius:11px;font-size:.79rem;line-height:1.45}.wpu-auth-alert.error{border-color:#f1c1bd;background:var(--wpu-ds-danger-soft);color:var(--wpu-ds-danger)}.wpu-auth-alert.success{border-color:#bfe4ce;background:var(--wpu-ds-success-soft);color:var(--wpu-ds-success)}.wpu-auth-alert.warning{border-color:#ecd39c;background:var(--wpu-ds-warning-soft);color:var(--wpu-ds-warning)}
.wpu-auth-help{min-height:18px;margin:12px 0 0;color:var(--wpu-ds-text-3);font-size:.75rem}.wpu-auth-secondary{margin-top:20px;padding-top:19px;border-top:1px solid #edf1f5;color:var(--wpu-ds-text-3);font-size:.8rem;text-align:center}.wpu-auth-secondary a{font-weight:740;text-decoration:none}.wpu-auth-secondary a:hover{text-decoration:underline}

.wpu-auth-form-section{display:grid;gap:13px;padding-top:18px;border-top:1px solid #edf2f7}
.wpu-auth-form-section:first-of-type{padding-top:0;border-top:0}
.wpu-auth-form-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.wpu-auth-form-section-head span{color:#17324f;font-size:.78rem;font-weight:790;letter-spacing:-.005em}
.wpu-auth-form-section-head small{color:var(--wpu-ds-text-3);font-size:.68rem;text-align:right}

/* Registration geometry: comfortable two-column layout with clean wrapping. */
.wpu-auth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 15px;align-items:start}.wpu-auth-form-grid .span-2{grid-column:1/-1}.wpu-auth-field small{display:block;color:var(--wpu-ds-text-3);font-size:.69rem;line-height:1.42}.wpu-auth-field small.error{color:var(--wpu-ds-danger);font-weight:650}
.wpu-auth-layout.is-wide .wpu-auth-panel{padding:clamp(30px,4vw,42px)}
.wpu-auth-layout.is-wide .wpu-auth-panel-head{margin-bottom:26px}
.wpu-auth-layout.is-wide .wpu-auth-form{gap:19px}

.wpu-auth-footer{position:relative;z-index:1;width:min(calc(100% - 40px),1180px);min-height:60px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(200,211,223,.72);color:var(--wpu-ds-text-3);font-size:.72rem}.wpu-auth-footer nav{display:flex;gap:14px}.wpu-auth-footer a{color:var(--wpu-ds-text-3);text-decoration:none}.wpu-auth-footer a:hover{color:var(--wpu-ds-primary)}

@media(max-width:880px){.wpu-auth-layout:not(.is-focused){grid-template-columns:1fr;max-width:560px}.wpu-auth-layout:not(.is-focused) .wpu-auth-context{display:none}.wpu-auth-identity-bar{min-height:70px}.wpu-auth-panel{border-radius:18px}}
@media(max-width:700px){.wpu-auth-form-grid{grid-template-columns:1fr}.wpu-auth-form-grid .span-2{grid-column:auto}.wpu-auth-layout.is-focused.is-wide{width:min(calc(100% - 24px),580px)}}
@media(max-width:560px){.wpu-auth-form-section-head{align-items:flex-start;flex-direction:column;gap:3px}.wpu-auth-form-section-head small{text-align:left}.wpu-auth-identity-bar,.wpu-auth-layout,.wpu-auth-footer{width:min(calc(100% - 24px),100%)}.wpu-auth-brand strong{max-width:205px;font-size:.82rem}.wpu-auth-brand small{display:none}.wpu-auth-brand img{width:38px;height:38px}.wpu-auth-back-link{padding-inline:8px;font-size:.74rem}.wpu-auth-layout.is-focused{padding-top:18px;padding-bottom:42px}.wpu-auth-panel{padding:25px 19px;border-radius:16px}.wpu-auth-service{margin-bottom:22px}.wpu-auth-service-mark{width:44px;height:44px;flex-basis:44px;border-radius:13px}.wpu-auth-service-mark img{width:32px;height:32px}.wpu-auth-service-copy strong{font-size:.96rem}.wpu-auth-panel-head h2{font-size:1.72rem}.wpu-auth-footer{padding:14px 0;align-items:flex-start;flex-direction:column}.wpu-auth-options{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.wpu-auth-layout.is-focused .wpu-auth-panel{animation:none}.wpu-auth-submit,.wpu-auth-password-toggle,.wpu-auth-back-link{transition:none}}

/* Anchor actions use the same canonical control geometry as buttons. */
.wpu-auth-submit:is(a){display:flex;align-items:center;justify-content:center;text-decoration:none}
