/* Standalone login entrance. Scoped to avoid changing approved business pages. */
.portal-login{--accent:#3069ed;--accent-rgb:48,105,237;--login-blue:#3069ed;--login-ink:#172a42;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(440px,.84fr);background:#ffffff;color:var(--login-ink)}
.portal-login-form .field>label{letter-spacing:.3px}.login-form-help .icon{width:11px;height:11px;margin-left:2px}
.login-scene{position:relative;min-height:100dvh;padding:44px 7%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 70% 64%,#2861a166,transparent 53%),linear-gradient(145deg,#10243c,#10243c);color:#dae9fa;isolation:isolate}
.login-scene:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(#8db5e020 1px,transparent 1px),linear-gradient(90deg,#8db5e020 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(transparent,#000 42%,#000)}
.login-brand{display:inline-flex;align-items:center;gap:13px;align-self:start;color:#ffffff}.login-brand-symbol{width:42px;height:42px;background:linear-gradient(145deg,#3880fc,#2560df);border-radius:10px;display:grid;place-items:center;color:#ffffff;box-shadow:0 5px 20px #081c3630}.login-brand-symbol .icon{width:26px;height:26px;stroke-width:1.7}.login-brand strong{display:block;font-size:20px;font-weight:600;letter-spacing:2px}.login-brand small{display:block;font-size:8px;letter-spacing:2.5px;color:#6d8bb0;margin-top:6px}
.login-scene-intro{margin-top:70px;position:relative;z-index:2}.login-scene-label{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:2.5px;color:#9ab7d9}.login-scene-label:before{content:"";height:5px;width:5px;border-radius:50%;background:#7cc6ff;box-shadow:0 0 0 5px #7cc6ff10}.login-scene h1{font-size:clamp(32px,3.35vw,52px);line-height:1.55;letter-spacing:1.5px;font-weight:450;color:#dae9fa;margin:24px 0 19px}.login-scene h1 em{font-style:normal;color:#8bbcff}.login-scene-intro>p{font-size:12px;line-height:2.1;color:#7d9dbb;letter-spacing:.5px}
.login-campus{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;margin:-15px -9% -10px;pointer-events:none}.login-campus>svg{width:100%;max-width:720px;height:auto;display:block;overflow:visible}.login-campus-caption{position:absolute;bottom:14%;left:15%;display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:1.2px;color:#91afce}.login-campus-caption:before{content:"";width:5px;height:5px;border-radius:50%;background:#7cc6ff}.login-capabilities{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #90b3da33;padding-top:23px;margin-top:5px;gap:15px}.login-capabilities>div{display:flex;gap:11px;align-items:center}.login-capabilities .icon{width:19px;height:19px;color:#91b4db;stroke-width:1.4}.login-capabilities b{display:block;font-size:11px;font-weight:450;color:#dae9fa}.login-capabilities small{display:block;font-size:8px;color:#7d9dbb;margin-top:7px;letter-spacing:1px}.login-scene-foot{margin-top:30px;font-size:8px;letter-spacing:2px;color:#617f9d;display:flex;justify-content:space-between;gap:16px}.login-scene-foot span:last-child{letter-spacing:1px}
.login-entry{position:relative;padding:38px 9% 24px;display:flex;flex-direction:column;min-width:0}.login-entry-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:10px;color:#7b8ba0;letter-spacing:.5px}.login-entry-top:before{content:"";height:5px;width:5px;border-radius:50%;background:#6698de}.portal-login-form{width:100%;max-width:370px;margin:auto;display:block;padding:30px 0}.login-form-kicker{font-size:9px;letter-spacing:2px;color:#7b8ba0;margin-bottom:15px}.portal-login-form h2{font-size:31px;letter-spacing:1px;line-height:1.5;font-weight:550;margin:0;color:#172a42}.portal-login-form>.login-welcome{font-size:12px;line-height:1.8;color:#7b8ba0;margin:10px 0 31px}.login-school{display:flex;align-items:center;gap:11px;padding:14px 15px;border:1px solid #dfeaff;background:#edf4ff;border-radius:8px;margin-bottom:25px}.login-school>.icon{width:19px;height:19px;color:#6a87af}.login-school strong{font-size:12px;color:#516d91;font-weight:500}.login-school small{font-size:9px;color:#8397af;display:block;margin-top:5px}.login-school-tag{margin-left:auto;padding:4px 7px;border:1px solid #d5e3f6;color:#6a87af;border-radius:4px;font-size:8px;white-space:nowrap}
.portal-login-form .field{display:flex;flex-direction:column;gap:9px;margin:0 0 19px;font-size:11px;color:#657b94}.portal-login-form .field>span{display:block;letter-spacing:.3px}.portal-login-form .field .required{display:none}.portal-login-form .login-input{position:relative;display:flex;align-items:center;gap:0}.login-input>.icon{position:absolute;left:14px;top:15px;width:16px;height:16px;color:#96a5b7;pointer-events:none}.portal-login-form .field input,.portal-login-form .field select{width:100%;height:46px;min-width:0;padding:12px 43px;background:#fff;border:1px solid #dfe6f0;border-radius:7px;color:#172a42;font:inherit;font-size:12px;box-shadow:0 2px 4px #1d3b6502;outline:none;transition:border-color .15s,box-shadow .15s}.portal-login-form .field select{padding:12px 14px;color:#51667f}.portal-login-form input:focus,.portal-login-form select:focus{border-color:#3069ed;box-shadow:0 0 0 3px #3069ed1a}.login-password-toggle{position:absolute;right:7px;top:7px;width:32px;height:32px;display:grid;place-items:center;border-radius:5px;color:#8398b0;background:transparent}.login-password-toggle:hover{background:#edf4ff;color:#3069ed}.login-password-toggle .icon{width:17px;height:17px}.login-form-options{display:flex;gap:15px;justify-content:space-between;align-items:center;margin:2px 0 22px}.login-form-options .check{margin:0;color:#7b8ba0;font-size:10px;gap:7px}.login-form-options input{accent-color:#3069ed;width:13px;height:13px}.login-form-help{padding:4px 0;font-size:10px;color:#3069ed;text-decoration:none;background:transparent}.login-form-help:hover{color:#245ad3}.login-submit{min-height:47px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #3069ed;border-radius:7px;background:#3069ed;color:#ffffff;font-size:12px;letter-spacing:1px;box-shadow:0 5px 13px #3069ed26;transition:background .15s,transform .15s}.login-submit:hover{background:#245ad3;transform:translateY(-1px)}.login-submit .icon{width:15px;height:15px}.login-form-error{padding:11px 13px;background:#fff1f2;color:#c76a73;border:1px solid #ffdfe2;font-size:11px;border-radius:6px;line-height:1.8;margin-bottom:16px}.login-demo-note{display:flex;align-items:start;gap:8px;margin-top:17px;font-size:9px;color:#8a9aaf;line-height:1.9}.login-demo-note .icon{width:13px;height:13px;flex-shrink:0;margin-top:2px}.login-demo-note strong{color:#6a87af;font-weight:500}.login-entry-foot{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:9px;color:#a0adbd;line-height:1.8;padding:0 8px 2px}.login-entry-foot .icon{width:12px;height:12px}.login-mobile-brand{display:none}
@media(min-width:1650px){.login-scene{padding:55px 9%}.login-scene-intro{margin-top:90px}.login-entry{padding-inline:13%}.portal-login-form{max-width:400px}.login-campus{margin-block:-25px -20px}.login-scene h1{font-size:56px}}
@media(max-width:1100px){.portal-login{grid-template-columns:minmax(0,1fr) minmax(390px,.95fr)}.login-scene{padding:35px 8%;min-height:760px}.login-scene-intro{margin-top:62px}.login-scene h1{font-size:34px}.login-capabilities{gap:10px}.login-capabilities>div{gap:7px}.login-capabilities small{font-size:7px;letter-spacing:.5px}.login-entry{padding-inline:9%}.login-scene-foot{font-size:7px;letter-spacing:1px}.portal-login-form h2{font-size:28px}}
@media(max-width:760px){.portal-login{grid-template-columns:1fr;background:#ffffff}.login-scene{display:none}.login-entry{min-height:100dvh;padding:28px max(25px,6vw) 22px}.login-entry-top{font-size:9px}.login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:36px}.login-mobile-brand .login-brand-symbol{height:34px;width:34px;border-radius:10px}.login-mobile-brand .login-brand-symbol .icon{width:21px;height:21px}.login-mobile-brand strong{display:block;font-size:16px;letter-spacing:1px;color:#304e6c}.login-mobile-brand small{display:block;font-size:7px;letter-spacing:1.5px;color:#8a9aaf;margin-top:5px}.portal-login-form{max-width:400px;padding:24px 0 32px}.portal-login-form h2{font-size:29px}.portal-login-form>.login-welcome{margin-bottom:25px}.login-school{margin-bottom:24px}.portal-login-form .field{margin-bottom:18px}.portal-login-form .field input,.portal-login-form .field select{font-size:14px;height:48px}.login-input>.icon{top:16px}.login-password-toggle{top:8px}.login-scene-foot{display:none}.login-entry-foot{font-size:8px}.login-demo-note{font-size:10px}}
@media(min-width:761px) and (max-height:850px){.login-scene{padding-block:30px}.login-scene-intro{margin-top:38px}.login-scene h1{margin-block:18px 13px;font-size:38px}.login-campus{min-height:205px;margin-block:-12px}.login-campus>svg{max-width:570px}.login-capabilities{padding-top:18px}.login-scene-foot{margin-top:22px}.login-entry{padding-top:25px;padding-bottom:18px}.portal-login-form{padding-block:22px}.login-form-kicker{margin-bottom:10px}.portal-login-form h2{font-size:28px}.portal-login-form>.login-welcome{margin:8px 0 22px}.login-school{padding:12px 14px;margin-bottom:19px}.portal-login-form .field{gap:7px;margin-bottom:14px}.portal-login-form .field input,.portal-login-form .field select{height:44px}.login-input>.icon{top:14px}.login-password-toggle{top:6px}.login-form-options{margin-bottom:17px}.login-demo-note{margin-top:13px}}
@media(prefers-reduced-motion:reduce){.login-submit,.portal-login-form .field input,.portal-login-form .field select{transition:none}.login-submit:hover{transform:none}}
