/* b0086 · myAUPlifebook modern student authentication experience
   Presentation layer only. Existing IDs, forms, API calls, consent progress and view routing remain intact. */
body.experience-login,
body.landing-body {--aup-auth-outline:#d8e5f1;--aup-auth-focus:#e9b329}
body.experience-login { background:
  linear-gradient(115deg,rgba(1,20,37,.46),rgba(8,36,60,.34)),
  url('../images/aup-campus-background-b0086.webp') center center/cover fixed no-repeat !important;
}
body.experience-login .scrim.is-visible,
body.landing-body .scrim.is-visible {z-index:110;background:
  linear-gradient(110deg,rgba(0,22,40,.44),rgba(3,32,53,.43)),
  url('../images/aup-campus-background-b0086.webp') center center/cover no-repeat;
  backdrop-filter:blur(4px) saturate(.9);
}
body.experience-login .login-dock.is-open,
body.landing-body .login-dock.is-open {
  position:fixed;z-index:120;left:50%;right:auto;bottom:50%;width:min(930px,calc(100vw - 40px));max-width:930px;
  transform:translate(-50%,50%);pointer-events:auto;filter:none;
}
body.experience-login .login-dock.is-open:not(.is-login-view),
body.landing-body .login-dock.is-open:not(.is-login-view) {width:min(610px,calc(100vw - 32px));}
body.experience-login .login-panel,
body.landing-body .login-panel {border:1px solid rgba(255,255,255,.8);border-radius:24px;transform-origin:center center;box-shadow:0 35px 95px rgba(0,21,37,.42);}
body.experience-login .login-dock.is-open .login-panel,
body.landing-body .login-dock.is-open .login-panel {display:grid;grid-template-columns:1fr;position:relative;overflow:hidden;max-height:min(88dvh,835px);border:1px solid rgba(255,255,255,.8);border-radius:24px;transform:translateY(0) scale(1);}
body.experience-login .login-dock.is-open.is-login-view .login-panel,
body.landing-body .login-dock.is-open.is-login-view .login-panel {grid-template-columns:minmax(275px,36%) minmax(0,64%)}
body.experience-login .panel-accent,
body.landing-body .panel-accent {position:absolute;top:0;left:0;right:0;height:4px;z-index:2;background:linear-gradient(90deg,#f9bc25,#f7d374,#e7ac18)}
body.experience-login .login-dock.is-open .panel-inner,
body.landing-body .login-dock.is-open .panel-inner {min-width:0;max-height:min(88dvh,835px);height:auto;overflow-x:hidden;overflow-y:auto;padding:clamp(1.1rem,2.4vw,2.1rem) clamp(1rem,3vw,2.5rem) 1.35rem;scrollbar-width:thin;scrollbar-color:#afc7d7 transparent;background:#fff}
body.experience-login .login-dock.is-open .dock-toggle,
body.landing-body .login-dock.is-open .dock-toggle {display:none!important}
body.landing-body .login-dock:not(.is-open) .dock-toggle {display:none!important}
/* The artwork is shown in the login view only; legal and reset views remain comfortable reading dialogs. */
.aup-auth-brand-pane {display:none;flex-direction:column;min-height:0;padding:1.15rem 1.2rem .9rem;gap:.65rem;color:#fff;
  background:linear-gradient(165deg,#053157 0%,#10588b 52%,#052b4c 100%)}
.login-panel[data-auth-view="login"] .aup-auth-brand-pane {display:flex}
.aup-auth-brand-top {display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}
.aup-auth-seal {display:block;width:clamp(105px,13vw,160px);height:clamp(105px,13vw,160px);object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,247,216,.95)) drop-shadow(0 0 16px rgba(248,190,53,.85)) drop-shadow(0 0 24px rgba(249,196,71,.48))}
.aup-auth-brand-title {margin:.3rem 0 0;line-height:1.03;font-family:Georgia,serif;font-size:clamp(1.1rem,2.2vw,1.65rem);font-style:italic;letter-spacing:.025em}
.aup-auth-brand-title span {display:block;color:#ffd169;font-size:clamp(1.65rem,3vw,2.4rem);font-style:italic}
.aup-auth-brand-subtitle {margin:0;color:#eef6fd;font-size:clamp(.76rem,1.3vw,.97rem);line-height:1.32}
.aup-auth-brand-values {display:grid;gap:.16rem;padding:.05rem .35rem;font-size:.79rem;line-height:1.4}
.aup-auth-brand-values p {margin:.1rem 0;color:#f2f8fc}
.aup-auth-entrance-block {position:relative;flex:1 1 auto;min-height:120px;max-height:255px;overflow:hidden;border-radius:14px;background:#06436c;box-shadow:0 7px 25px rgba(0,13,30,.2)}
.aup-auth-entrance-block::after {content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(1,22,42,.72) 82%);pointer-events:none}
.aup-auth-entrance-block img {width:100%;height:100%;min-height:150px;object-fit:cover;object-position:center}
.aup-auth-entrance-block blockquote {position:absolute;bottom:.55rem;left:.75rem;right:.75rem;z-index:1;margin:0;color:#fff;font-size:clamp(.7rem,1.1vw,.84rem);font-style:italic;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.75)}
.aup-auth-entrance-block cite {display:block;margin-top:.22rem;font-size:.7rem;font-style:normal}
.aup-auth-values-line {margin:.25rem 0 0;color:#fff;font-size:clamp(.62rem,.91vw,.78rem);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-align:center}
.aup-auth-outside-footer {display:none;flex-direction:column;gap:.4rem;align-items:center;margin-top:1rem;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,18,34,.8)}
.login-dock.is-open.is-login-view .aup-auth-outside-footer {display:flex}
.aup-auth-outside-footer span {font-size:.76rem;letter-spacing:.22em;text-transform:uppercase}
.aup-auth-outside-footer em {font-family:Georgia,serif;font-size:.9rem;letter-spacing:.06em}
/* Respect semantic visibility when the normal login view hides its Back button. */
.login-panel .back-button[hidden], .login-panel .panel-heading button[hidden] {display:none!important}
/* Sign-in panel in the approved artwork */
.login-panel[data-auth-view="login"] .panel-header {margin-bottom:1rem}
.login-panel[data-auth-view="login"] .panel-kicker {font-size:.72rem;letter-spacing:.025em;text-transform:none;color:#748ca3}
.login-panel[data-auth-view="login"] .panel-title {font-size:clamp(1.7rem,3.2vw,2.15rem);line-height:1.13}
.login-panel[data-auth-view="login"] .panel-header:after {content:"Sign in to your myAUPlifebook account";display:none}
.login-panel[data-auth-view="login"] #loginView:before {content:"Access your enrollment, academic records and university services — all in one place.";display:block;margin-bottom:1.15rem;padding:.75rem .85rem;border:1px solid #cbdfee;border-radius:10px;background:#f0f7fb;color:#3f617c;font-size:.83rem;line-height:1.45}
.login-panel[data-auth-view="login"] .field-label {font-weight:750;color:#183e63}
.login-panel[data-auth-view="login"] .field-input {min-height:45px;border:1px solid #ccddea;border-radius:10px;background:#fff}
.login-panel[data-auth-view="login"] .login-button {background:linear-gradient(100deg,#063866,#0a5185);border-radius:10px}
.aup-auth-quicklinks {display:grid;gap:.6rem;margin-top:1.15rem}
.aup-auth-quicklinks-or {position:relative;margin:.1rem 0;text-align:center;color:#6f8295;font-size:.82rem}
.aup-auth-quicklinks-or:before,.aup-auth-quicklinks-or:after{content:"";display:inline-block;vertical-align:middle;width:33%;height:1px;margin:0 .5rem;background:#cfdfeb}
.aup-auth-quicklinks button {display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:43px;padding:.6rem .75rem;border:1px solid #d3e3f0;border-radius:10px;color:#0b4172;background:#f3f8fc;cursor:pointer;font-family:inherit;font-size:.86rem;font-weight:750;transition:background .16s ease,transform .16s ease}
.aup-auth-quicklinks button:hover,.aup-auth-quicklinks button:focus-visible {background:#e5f2fc;transform:translateY(-1px)}
.aup-auth-quicklinks button span {font-size:1.17rem;color:#0b589a}
.aup-auth-quicklinks .aup-auth-link-pair {display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.aup-auth-quicklinks .aup-auth-link-wide {width:100%}
.aup-auth-quicklinks .aup-auth-link-wide small {font-size:.68rem;font-weight:400;color:#58778c}
.aup-auth-need-help {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.68rem .78rem;border-left:3px solid #f0b323;background:#eef6fc;color:#234c6c;font-size:.74rem;line-height:1.35}
.aup-auth-need-help strong {color:#063e75}
.login-panel[data-auth-view="login"] #loginView>.panel-footer {display:none}
.login-panel[data-auth-view="login"] #loginView.is-complete .aup-auth-quicklinks{display:none}
/* Proportionate text across Terms, Privacy, Forgot Password, Announcements, Help Tutorials. */
.login-panel:not([data-auth-view="login"]) .panel-header{align-items:center;margin-bottom:1rem}
.login-panel:not([data-auth-view="login"]) .panel-title {font-size:clamp(1.3rem,2.8vw,1.6rem);line-height:1.18;overflow-wrap:anywhere}
.login-panel:not([data-auth-view="login"]) .panel-inner {font-size:clamp(.87rem,1.35vw,.96rem)}
.login-panel:not([data-auth-view="login"]) .legal-copy {font-size:clamp(.86rem,1.32vw,.94rem);line-height:1.65}
.login-panel:not([data-auth-view="login"]) .legal-section h3 {font-size:clamp(.95rem,1.5vw,1.1rem)}
.login-panel:not([data-auth-view="login"]) .legal-read-instruction {font-size:clamp(.77rem,1.18vw,.86rem);line-height:1.5}
.login-panel:not([data-auth-view="login"]) .announcement-card h3 {font-size:clamp(.97rem,1.4vw,1.1rem)}
.login-panel:not([data-auth-view="login"]) .announcement-card p,
.login-panel:not([data-auth-view="login"]) .tutorial-item ol {font-size:clamp(.86rem,1.2vw,.96rem)}
.login-panel:not([data-auth-view="login"]) .tutorial-item summary strong {font-size:clamp(.87rem,1.3vw,.99rem)}
.login-panel:not([data-auth-view="login"]) .view-intro {font-size:clamp(.83rem,1.2vw,.94rem)}
@media(min-width:721px){
  .login-dock.is-open:not(.is-login-view) .aup-auth-outside-footer{display:none}
}
@media(max-width:720px){
  body.experience-login .login-dock.is-open,body.landing-body .login-dock.is-open {width:calc(100vw - 32px);max-width:550px}
  body.experience-login .login-dock.is-open.is-login-view .login-panel,body.landing-body .login-dock.is-open.is-login-view .login-panel {grid-template-columns:1fr}
  body.experience-login .login-dock.is-open .login-panel,body.landing-body .login-dock.is-open .login-panel {max-height:calc(100dvh - 32px);border-radius:20px}
  body.experience-login .login-dock.is-open .panel-inner,body.landing-body .login-dock.is-open .panel-inner {max-height:calc(100dvh - 36px);padding:1.1rem 1.1rem 1.2rem}
  .login-panel[data-auth-view="login"] .aup-auth-brand-pane {padding:.55rem 1.1rem;background:linear-gradient(110deg,#082f52,#0b5789);flex-direction:row;align-items:center;justify-content:center;gap:.9rem}
  .aup-auth-brand-top {display:flex;flex-direction:row;align-items:center;gap:.65rem}
  .aup-auth-seal {width:65px;height:65px;flex:0 0 65px}
  .aup-auth-brand-title {margin:0;text-align:left;font-size:1rem}
  .aup-auth-brand-title span {font-size:1.4rem}
  .aup-auth-brand-subtitle,.aup-auth-brand-values,.aup-auth-entrance-block,.aup-auth-values-line,.aup-auth-outside-footer {display:none!important}
  .login-panel[data-auth-view="login"] .panel-inner {max-height:calc(100dvh - 126px)!important}
  .login-panel[data-auth-view="login"] #loginView:before {padding:.52rem .7rem;font-size:.77rem;margin-bottom:.85rem}
  .login-panel[data-auth-view="login"] .panel-title {font-size:1.55rem}
  .panel-header {gap:.5rem}
  .panel-heading {min-width:0}
  .panel-heading>div {min-width:0}
  .panel-actions {gap:.3rem}
  .panel-actions .help-button,.panel-actions .close-button {width:34px;height:34px}
  .login-panel:not([data-auth-view="login"]) .panel-title {font-size:clamp(1.25rem,5.4vw,1.48rem)}
  .login-panel:not([data-auth-view="login"]) .panel-kicker {font-size:.68rem}
  .login-panel:not([data-auth-view="login"]) .legal-read-instruction {font-size:.77rem;padding:.66rem .72rem}
  .login-panel:not([data-auth-view="login"]) .legal-section {padding:.8rem .85rem}
  .login-panel:not([data-auth-view="login"]) .legal-copy {font-size:.875rem}
  .login-panel:not([data-auth-view="login"]) .tutorial-item summary {padding:.7rem}
  .aup-auth-quicklinks {gap:.45rem}
  .aup-auth-quicklinks button {min-height:41px;font-size:.8rem}
}
@media(max-width:380px){
  .aup-auth-quicklinks .aup-auth-link-pair {gap:.35rem}
  .aup-auth-quicklinks button {padding:.54rem .45rem;font-size:.74rem}
  .login-panel[data-auth-view="login"] .panel-inner {padding:.85rem .85rem 1rem!important}
}
@media(max-height:650px) and (min-width:721px){
  .login-panel[data-auth-view="login"] .aup-auth-entrance-block{max-height:140px}
  .login-dock.is-open .aup-auth-outside-footer{display:none}
}
@media(prefers-reduced-motion:reduce){
  .aup-auth-seal {filter:drop-shadow(0 0 10px rgba(241,190,48,.65))}
  .aup-auth-quicklinks button {transition:none}
}
