/* Approved Login composition only. Other pages and recovery screens retain their own styling. */
.page-login{background:#e1f3ff;color:#08059e}
.page-login .auth-shell{position:relative;isolation:isolate;display:grid;grid-template-columns:54.1% 45.9%;align-items:start;align-content:start;gap:0;width:100%;max-width:1672px;min-height:100svh;margin:0 auto;padding:10vh 0 7.7vh;background:radial-gradient(ellipse at 25% 33%,#d9efff 0,transparent 50%)}
.page-login .login-scene{position:absolute;inset:0 45.9% 0 0;min-width:0;pointer-events:none}
.page-login .login-brand{position:absolute;left:21.5%;top:12.3%;width:60%;display:block;pointer-events:auto;z-index:2}
.page-login .login-brand img{display:block;width:100%;height:auto;object-fit:contain}
.page-login .login-mascots{position:absolute;left:3%;bottom:3.2%;width:86%;height:49.5%;object-fit:contain;object-position:center bottom;z-index:2;opacity:1;filter:none}
.page-login .login-paw{position:absolute;left:83.7%;top:56.2%;width:8.4%;height:auto;fill:#0083ff;transform:rotate(-12deg);z-index:1}
.page-login .login-clouds{position:absolute;inset:0;overflow:hidden;z-index:0}
.page-login .login-clouds:before{content:'';position:absolute;left:-27%;top:13%;width:46%;height:37%;background:#effaffb3;border-radius:45% 58% 50% 40%;transform:rotate(-40deg)}
.page-login .login-clouds:after{content:'';position:absolute;left:10%;top:13%;width:38%;height:29%;background:#effaff99;border-radius:50% 40% 58% 40%;transform:rotate(-30deg)}
.page-login .login-clouds i{position:absolute;display:block;border-radius:48% 52% 0 0}
.page-login .login-clouds i:nth-child(1){left:-13%;bottom:39%;width:36%;height:30%;background:#fff6d7;transform:rotate(-17deg);border-radius:50%}
.page-login .login-clouds i:nth-child(2){left:-10%;bottom:6%;width:32%;height:46%;background:linear-gradient(135deg,#ffe273,#ffdf40);transform:rotate(-8deg)}
.page-login .login-clouds i:nth-child(3){left:53%;bottom:3%;width:35%;height:38%;background:linear-gradient(125deg,#ffe365,#ffdc49);transform:rotate(-25deg)}
.page-login .login-clouds i:nth-child(4){left:-12%;bottom:3%;width:25%;height:38%;background:linear-gradient(120deg,#31aaff,#0071ff);transform:rotate(-8deg)}
.page-login .login-clouds i:nth-child(5){right:-5%;bottom:1%;width:22%;height:26%;background:linear-gradient(140deg,#24a0ff,#006aff);transform:rotate(12deg)}
.page-login .login-clouds i:nth-child(6){left:-2%;bottom:-13%;width:107%;height:26%;background:linear-gradient(175deg,#fffbee 35%,#ffe76e);border-radius:55% 45% 0 0;transform:rotate(-3deg)}
.page-login .login-panel{grid-column:2;align-self:start;width:auto;min-width:0;min-height:774px;margin:0 6.58vw 0 0;padding:52px 54px 48px;border:1px solid #ffffff;border-top:18px solid #ffdf59;border-radius:39px;background:#fff;box-shadow:0 15px 35px #1685e224;position:relative}
.page-login .login-heading{text-align:center;margin:0 0 28px;padding:0}
.page-login .login-welcome{display:flex;align-items:center;justify-content:center;gap:13px;font-size:24px;line-height:1.5;font-weight:650;color:#064aff;margin:0 0 9px;white-space:nowrap}
.page-login .login-welcome span{position:relative;display:block;flex:0 0 34px;width:34px;height:37px;font-size:0;line-height:0;color:transparent}
.page-login .login-welcome span:before,.page-login .login-welcome span:after{content:'';position:absolute;width:6px;height:24px;border-radius:4px;background:#ffc400;transform:rotate(-35deg);left:22px;top:0}
.page-login .login-welcome span:after{height:21px;left:8px;top:19px;transform:rotate(-66deg)}
.page-login .login-welcome span:last-child{transform:scaleX(-1) rotate(-10deg)}
.page-login .login-heading h1{font-size:clamp(35px,3.83vw,64px);font-weight:750;letter-spacing:-1px;line-height:1.35;margin:0 0 7px;color:#09049e;white-space:nowrap}
.page-login .login-heading>p:last-child{font-size:24px;font-weight:550;line-height:1.6;color:#7979b4;margin:0;white-space:nowrap}
.page-login .login-field{display:block;font-size:24px;font-weight:650;line-height:1.5;color:#070695;margin:0 0 28px}
.page-login .login-input{position:relative;display:flex;align-items:center;width:100%;height:70px;margin-top:6px;border:2px solid #dfdff3;border-radius:15px;background:white;overflow:hidden}
.page-login .login-input>svg{position:absolute;left:22px;top:20px;width:29px;height:29px;fill:none;stroke:#8382b9;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.page-login .login-input input{display:block;width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none;margin:0;padding:12px 65px 12px 79px;background:transparent;color:#151581;font-family:inherit;font-size:23px;font-weight:450;line-height:1.5;outline:none}
.page-login .login-input input::placeholder{color:#aaaada;opacity:1}
.page-login .login-input:focus-within{border-color:#7aabff;box-shadow:0 0 0 3px #147aff14}
.page-login .password-visibility{position:absolute;right:11px;top:10px;width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#807eb8;padding:8px;cursor:pointer}
.page-login .password-visibility svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.page-login .password-visibility:focus-visible{outline:3px solid #ffcf24;outline-offset:-1px}
.page-login .login-field:has(input[name=password]){margin-bottom:10px}
.page-login .forgot-link{display:block;text-align:right;margin:0 0 22px;font-size:22px;line-height:1.5;font-weight:500;color:#004dff;text-decoration:underline;text-underline-offset:3px}
.page-login .login-submit.button{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;height:73px;min-height:73px;margin:0;padding:14px 20px;border:0;border-radius:21px;background:#0074ff;color:white;font-size:30px;font-weight:500;line-height:1.5;box-shadow:0 7px 14px #0076ff12}
.page-login .login-submit .icon{width:35px;height:35px;stroke-width:2}
.page-login .login-rule{height:2px;background:#eeeef8;margin-top:25px}
.page-login .auth-shell>.flash{grid-column:2;position:relative;margin:0 6.58vw 16px 0;padding:14px 20px;font-size:15px;z-index:4}
@media(min-width:1673px){.page-login .login-panel,.page-login .auth-shell>.flash{margin-right:110px}}
@media(min-width:851px) and (max-width:1400px){.page-login .login-panel{padding:40px 32px 40px;min-height:660px;margin-right:5vw;border-radius:32px;border-top-width:15px}.page-login .login-welcome{font-size:20px}.page-login .login-heading>p:last-child{font-size:19px}.page-login .login-field{font-size:20px;margin-bottom:22px}.page-login .login-input{height:60px}.page-login .login-input input{font-size:18px;padding-left:62px}.page-login .login-input>svg{left:18px;top:16px;width:26px;height:26px}.page-login .password-visibility{top:6px;right:7px}.page-login .forgot-link{font-size:18px;margin-bottom:19px}.page-login .login-submit.button{height:62px;min-height:62px;font-size:25px}.page-login .login-heading{margin-bottom:25px}.page-login .login-brand{left:19%;width:65%}.page-login .login-mascots{left:3%;width:94%;height:49%}}
@media(max-width:850px){.page-login .auth-shell{display:flex;flex-direction:column;align-items:center;gap:0;padding:22px 20px 35px;min-height:100svh;background:none}.page-login .login-scene{position:relative;inset:auto;width:100%;height:270px;max-width:620px;flex-shrink:0;margin:0 0 18px}.page-login .login-brand{top:0;left:3%;width:48%;height:155px}.page-login .login-brand img{width:100%;height:100%;object-fit:contain}.page-login .login-mascots{left:auto;right:0;bottom:0;width:60%;height:215px}.page-login .login-clouds:before,.page-login .login-clouds:after,.page-login .login-paw{display:none}.page-login .login-clouds{border-radius:25px}.page-login .login-clouds i:nth-child(1){display:none}.page-login .login-clouds i:nth-child(2){width:45%;height:50%;bottom:0;left:20%}.page-login .login-clouds i:nth-child(3){height:65%;left:65%;bottom:-5%}.page-login .login-clouds i:nth-child(4){height:40%;left:5%;bottom:-12%}.page-login .login-clouds i:nth-child(5){height:25%;bottom:-5%}.page-login .login-clouds i:nth-child(6){bottom:-15%}.page-login .login-panel{width:100%;max-width:620px;min-height:0;margin:0;padding:30px 30px 36px;border-top-width:12px;border-radius:27px}.page-login .login-heading{margin-bottom:24px}.page-login .login-welcome{font-size:19px;margin-bottom:8px;gap:8px}.page-login .login-welcome span{transform:scale(.7);flex-basis:25px;font-size:0}.page-login .login-heading h1{font-size:38px;letter-spacing:-1px;margin-bottom:7px}.page-login .login-heading>p:last-child{font-size:18px;white-space:normal}.page-login .login-field{font-size:18px;margin-bottom:22px}.page-login .login-input{height:56px;border-radius:12px}.page-login .login-input input{font-size:17px;padding-left:58px;padding-right:52px}.page-login .login-input>svg{width:24px;height:24px;left:17px;top:14px}.page-login .password-visibility{height:44px;width:44px;top:4px;right:4px}.page-login .password-visibility svg{width:25px;height:25px}.page-login .forgot-link{font-size:17px;margin-bottom:23px}.page-login .login-submit.button{height:58px;min-height:58px;border-radius:15px;font-size:23px;gap:18px}.page-login .login-submit .icon{height:28px;width:28px}.page-login .login-rule{margin-top:22px}.page-login .auth-shell>.flash{order:-1;width:100%;max-width:620px;margin:0 0 16px;font-size:14px}}
@media(max-width:480px){.page-login .auth-shell{padding:17px 15px 28px}.page-login .login-scene{height:210px;margin-bottom:13px}.page-login .login-brand{height:115px;width:57%;left:0}.page-login .login-mascots{width:69%;height:168px;right:-2%}.page-login .login-panel{padding:25px 22px 28px;border-radius:25px}.page-login .login-welcome{font-size:16px}.page-login .login-heading h1{font-size:32px}.page-login .login-heading>p:last-child{font-size:15px}.page-login .login-field{font-size:17px}.page-login .login-input input{font-size:16px}.page-login .login-submit.button{font-size:22px}}
