:root{--login-primary:#173b61;--login-ink:#152e48;--login-muted:#607286;--login-gold:#d8b776}
body{isolation:isolate;margin:0;background:#081b30;color:var(--login-ink);font-family:"Segoe UI",Arial,Helvetica,sans-serif;overflow-x:hidden}
.login-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 20% 0%,#203d57 0%,transparent 55%),linear-gradient(125deg,#0a2037,#081625);z-index:-1}
.login-atmosphere:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,#000)}
.light{position:absolute;width:50vw;height:50vw;border-radius:50%;opacity:.3;filter:blur(70px);animation:ambient-drift 18s ease-in-out infinite alternate;will-change:transform}
.light-one{background:radial-gradient(circle,#387c9e,transparent 65%);left:-22%;top:25%}
.light-two{background:radial-gradient(circle,#b09053,transparent 65%);right:-20%;top:-25%;animation-delay:-9s}
.orbit{position:absolute;width:85vw;height:85vw;border:1px solid #b6d3e017;border-radius:50%;left:-33%;top:26%;transform:rotate(-24deg) scaleY(.55)}
.orbit-two{width:100vw;height:100vw;left:-40%;top:19%}.orbit-three{width:115vw;height:115vw;left:-47%;top:12%}
.login-shell{max-width:1280px;padding:48px 40px;position:relative}
.login-page-row{align-items:center;justify-content:space-between;row-gap:36px}
.login-hero-column{padding-right:64px}
.login-hero{color:#fff;min-height:690px;display:flex;flex-direction:column;justify-content:space-between}
.university-brand{display:flex;align-items:center;gap:14px;color:#f8fafc;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.7px;width:fit-content}
.university-brand:hover{color:#e7c88c}
.university-brand small{display:block;letter-spacing:.4px;font-size:11px;font-weight:400;color:#b8c7d5;margin-top:5px}
.university-symbol{width:48px;height:55px;border:1px solid #d8b77680;border-radius:8px 8px 20px 20px;display:grid;place-items:center;color:#e2c58e;background:#d8b7760b}
.university-symbol .icon{width:26px;height:26px}
.login-card{border:1px solid #ffffffaa;border-radius:24px;background:#fff;box-shadow:0 32px 100px #0005,0 0 0 8px #ffffff06;width:100%;max-width:400px}
.login-card-body{padding:38px 32px!important}
.card-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#7a6540;margin-bottom:12px}
.login-title{font-size:32px;font-weight:650;letter-spacing:-1.2px;color:#162f48!important}
.login-subtitle{color:var(--login-muted);font-size:14px}
.login-card .form-control{border:1px solid #dae2e9;border-radius:10px;background:#f8fafc;color:#162f48;min-height:58px;font-size:14px}
.login-card .form-control.ps-4{padding-left:44px!important}
.login-card .form-floating>label.ps-4{padding-left:44px!important;color:#607286;font-size:12px}
.login-card .input-icon{width:17px;height:17px;pointer-events:none}
.login-card .form-control:focus{background:#fff;border-color:#52799f;box-shadow:0 0 0 3px #173b6115}
.login-card .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border-radius:9px;padding:11px 14px;transition:background .18s,box-shadow .18s}
.login-card .btn-primary,.login-guide-dialog .btn-primary{background:#173b61;border-color:#173b61;color:#fff}
.login-card .btn-primary:hover{background:#0c2946;box-shadow:0 5px 16px #173b6126}
.login-card .btn-outline-primary{color:#173b61;border-color:#d7e0e8;background:#fff}
.login-card .btn-outline-primary:hover{background:#edf3f8}
.login-card .btn-light{background:#fff;border-color:#d7e0e8!important;color:#213d57}
.login-card .btn-light:hover{background:#f1f5f9}
.login-card #freshmanRegistrationButton{background:#f7f3eb;border-color:#eee3d0!important;color:#66502a}
.login-card .btn:disabled{opacity:.65;cursor:wait}
.login-card .icon{width:17px;height:17px;flex-shrink:0}
.login-footer{text-align:center;border-top:1px solid #e9eef2;margin-top:26px;padding-top:20px;color:#6a7c8c}
.login-footer .small{font-size:11px}
.login-guide-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dce4ed;border-radius:18px;padding:28px;color:#213d57;box-shadow:0 30px 90px #0005}
.login-guide-dialog::backdrop{background:#071a30bf;backdrop-filter:blur(5px)}
.student-login-guide{font-size:14px;line-height:1.7}.student-login-guide h2{font-size:22px;margin-bottom:20px}.student-login-guide summary{font-weight:600;margin:16px 0;cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ad813a;outline-offset:4px}
@keyframes ambient-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(7%,12%,0)}}
@media(min-width:1400px){.login-shell{padding-top:64px;padding-bottom:64px}}
@media(max-width:991px){.login-shell{max-width:620px;padding:30px 24px}.login-hero-column{padding-right:12px}.login-hero{min-height:0}.hero-editorial{padding:32px 0 0}.login-hero h1{font-size:40px;letter-spacing:-1.5px}.login-hero-copy{max-width:none;margin-bottom:0}.hero-services,.hero-bottom{display:none}.login-card{max-width:400px}.login-page-row{row-gap:28px}.light{width:100vw;height:100vw}}
@media(max-width:480px){.login-shell{padding:24px 16px}.login-card-body{padding:28px 22px!important}.login-title{font-size:29px}.login-hero h1{font-size:34px}.login-eyebrow{font-size:9px;letter-spacing:1.5px}.login-hero-copy{font-size:13px}.login-card .btn{font-size:12px;padding:10px}.university-brand{font-size:11px}.login-card-heading{margin-bottom:24px!important}}
@media(prefers-reduced-motion:reduce){.light{animation:none;will-change:auto}.login-card .btn{transition:none}}


/* Role guide: a compact diagram of each login journey. */
.login-hero{min-height:660px;justify-content:flex-start;gap:48px}
.login-overview{max-width:520px}
.login-overview h1{font-family:inherit;font-size:30px;font-weight:600;line-height:1.25;letter-spacing:-.6px;margin:0 0 12px}
.login-eyebrow{color:#d8b776;font-size:11px;font-weight:600;letter-spacing:1.2px;margin-bottom:16px}
.overview-intro{color:#bdcbd8;font-size:14px;line-height:1.6;margin-bottom:24px}
.role-picker{display:flex;padding:5px;gap:5px;background:#07162966;border:1px solid #ffffff24;border-radius:12px;margin-bottom:30px}
.role-choice{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:0;border-radius:8px;color:#bccddd;padding:12px;font:600 14px "Segoe UI",Arial,sans-serif;cursor:pointer}
.role-choice[aria-pressed="true"]{background:#e6d2aa;color:#192d40;box-shadow:0 3px 12px #0002}
.role-choice:hover:not([aria-pressed="true"]){background:#ffffff0c;color:#fff}
.role-choice .icon,.journey-destination .icon{width:19px;height:19px;flex-shrink:0}
.login-journey{list-style:none;padding:0;margin:0}
.login-journey li{display:grid;grid-template-columns:42px 1fr;gap:18px;position:relative;padding-bottom:26px}
.login-journey li:not(:last-child):before{content:"";position:absolute;left:20px;top:43px;bottom:0;width:1px;background:linear-gradient(#d8b77666,#ffffff18)}
.journey-number{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid #d8b77666;background:#d8b7760c;color:#e6d2aa;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.login-journey h2{font-size:16px;font-weight:600;letter-spacing:0;line-height:1.4;margin:1px 0 7px;color:#f2f6f9}
.login-journey p{font-size:13px;color:#bdcbd8;line-height:1.75;margin:0;max-width:380px}
.journey-destination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px;background:#ffffff05;border:1px solid #ffffff20;border-radius:12px;color:#dae4ec;font-size:11px}
.journey-destination .icon{color:#d8b776}
.journey-destination span+span:before{content:"·";margin-right:10px;color:#d8b776}
.overview-note{font-size:12px;line-height:1.7;color:#aebfd0;margin:18px 0 0}
.overview-note a{color:#eed7ac;text-underline-offset:3px}
.role-overview[hidden]{display:none!important}
.login-title{font-size:28px;letter-spacing:-.5px}
@media(max-width:991px){.login-hero{min-height:0;gap:28px}.login-overview{max-width:none}.login-overview h1{font-size:27px}.login-journey p{max-width:none}.login-journey li{padding-bottom:20px}.role-picker{margin-bottom:22px}}
@media(max-width:480px){.login-overview h1{font-size:25px}.login-journey li{gap:14px}.login-journey h2{font-size:15px}.journey-destination{gap:8px;padding:12px}}

/* Compact institution heading on the sign-in card. */
.login-card .login-title{font-size:23px;line-height:1.3;letter-spacing:-.3px}

.login-product-name{font-size:20px;font-weight:600;letter-spacing:1.5px;color:var(--login-primary)}

.login-brand-heading{display:flex;align-items:center;justify-content:center;gap:12px}
.login-ug-logo{width:52px;height:60px;object-fit:contain;flex-shrink:0}
.login-brand-copy{min-width:0;text-align:center}
.login-brand-copy .login-product-name{letter-spacing:.7px}
.login-brand-copy .login-subtitle{font-size:12px;line-height:1.5}
@media(max-width:380px){.login-brand-heading{gap:10px}.login-ug-logo{width:42px;height:50px}.login-brand-copy .login-product-name{font-size:17px}}
