body.login-page{min-height:100vh;height:auto;width:100%;}
.login-shell{font-family:Arial,Helvetica,sans-serif;font-size:16px;}
.login-shell *{font-family:inherit;font-size:inherit;}
.login-shell h1,.login-shell h2,.login-shell strong{font-weight:700;}
.login-shell *{box-sizing:border-box}
body.login-page{margin:0;background:#f3f5f3;color:#153c40;font-family:Arial,Helvetica,sans-serif}
.login-shell button, .login-shell input, .login-shell a{font:inherit}
.login-shell button, .login-shell a, .login-shell input{outline-offset:5px}
.login-shell button{cursor:pointer}
.login-shell .page{min-height:100vh;padding:32px;display:flex;flex-direction:column}
.login-shell .top{display:flex;align-items:center;justify-content:space-between;max-width:1320px;width:100%;margin:0 auto 28px;font-size:12px;color:#647574;letter-spacing:1px}
.login-shell .top strong{color:#003d46;font-size:20px;letter-spacing:-1px}
.login-shell .layout{width:100%;max-width:1320px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;min-height:700px;background:white;border-radius:28px;overflow:hidden;box-shadow:0 20px 70px #123e4010;border:1px solid #e0e8e4}
.login-shell .brand{background:#003d46;position:relative;isolation:isolate;padding:54px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}
.login-shell .brand:before{content:"";position:absolute;inset:0;background:var(--login-background) center/cover;opacity:.12;z-index:-2}
.login-shell .brand:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#003d4630,#003d46 96%);z-index:-1}
.login-shell .logo-box{background:#fff;padding:18px 26px;border-radius:18px;display:inline-flex}
.login-shell .logo-box img{width:190px;height:auto;display:block}
.login-shell .brand-copy{margin:auto 0;padding:60px 0 38px}
.login-shell .eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:bold;text-transform:uppercase;color:#f6cc36;display:flex;align-items:center;gap:12px}
.login-shell .eyebrow:before{content:"";height:2px;width:28px;background:#f6cc36}
.login-shell h1{color:white;font-size:clamp(36px,3.7vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:24px 0}
.login-shell h1 span{color:#f6cc36}
.login-shell .brand-copy p{font-size:16px;line-height:1.75;color:#d0dedb;max-width:350px;margin:0}
.login-shell .brand-bottom{border-top:1px solid #ffffff29;width:100%;padding-top:24px;font-size:12px;letter-spacing:.4px;color:#c7d9d6}
.login-shell .access{padding:64px 60px 32px;display:flex;flex-direction:column;justify-content:center}
.login-shell .form-wrap{max-width:370px;margin:0 auto;width:100%}
.login-shell .section-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#6b807f;font-weight:bold}
.login-shell h2{font-size:34px;letter-spacing:-1px;margin:13px 0 10px}
.login-shell .intro{font-size:14px;line-height:1.6;color:#72817e;margin:0 0 34px}
.login-shell label{display:block;font-size:13px;font-weight:bold;margin:0 0 10px}
.login-shell .field{margin:0 0 22px}
.login-shell input{width:100%;height:54px;padding:0 16px;border:1px solid #d7e1dd;border-radius:10px;background:#fcfdfc;color:#163d40;font-size:15px}
.login-shell input:focus{outline:2px solid #007d79;border-color:transparent}
.login-shell input::placeholder{color:#8b9995}
.login-shell .password{position:relative}
.login-shell .password input{padding-right:76px}
.login-shell .toggle{position:absolute;right:10px;top:12px;height:30px;background:none;border:0;color:#506b69;font-size:12px;padding:4px}
.login-shell .forgot{display:block;text-align:right;font-size:13px;color:#00676a;font-weight:bold;text-decoration:none;margin:-5px 0 27px}
.login-shell .submit{width:100%;height:54px;border:0;border-radius:10px;background:#ffcc00;color:#143a3e;font-weight:bold;display:flex;align-items:center;justify-content:space-between;padding:0 20px;transition:background .15s}
.login-shell .submit:hover{background:#f2bf00}
.login-shell .submit span{font-size:23px}
.login-shell .app-area{margin-top:38px;border-top:1px solid #e6ece9;padding-top:24px}
.login-shell .app-title{font-size:12px;color:#71817c;margin:0 0 14px}
.login-shell .apps{display:flex;gap:12px}
.login-shell .app{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1e8e5;border-radius:10px;flex:1;text-decoration:none;color:#25494a;font-size:12px;background:#fff}
.login-shell .app img{width:39px;height:auto}
.login-shell .app small{display:block;font-size:10px;color:#75837e;margin-bottom:3px}
.login-shell .footer{font-size:11px;color:#8a9692;text-align:center;margin-top:35px}
.login-shell .footer strong{color:#536a65}
.login-shell .note{min-height:20px;font-size:12px;color:#476b66;line-height:1.5;margin:14px 0 0}
.login-shell .bottom{max-width:1320px;width:100%;margin:24px auto 0;display:flex;justify-content:space-between;font-size:11px;color:#778580}
@media(min-width:1500px){.login-shell .layout{min-height:740px}
.login-shell .brand{padding:64px}
.login-shell .access{padding:70px}
}
@media(max-width:850px){.login-shell .page{padding:20px}
.login-shell .layout{grid-template-columns:.85fr 1fr;min-height:650px}
.login-shell .brand{padding:30px}
.login-shell .access{padding:40px 28px 24px}
.login-shell .logo-box img{width:150px}
.login-shell h1{font-size:36px}
.login-shell .brand-copy p{font-size:14px}
}
@media(max-width:620px){.login-shell .page{padding:16px}
.login-shell .top{margin-bottom:16px}
.login-shell .top span{font-size:9px}
.login-shell .layout{display:block;border-radius:20px;min-height:0}
.login-shell .brand{padding:24px;align-items:center}
.login-shell .logo-box{padding:12px 22px}
.login-shell .logo-box img{width:144px}
.login-shell .brand-copy, .login-shell .brand-bottom{display:none}
.login-shell .access{padding:30px 24px 24px}
.login-shell h2{font-size:29px}
.login-shell .intro{margin-bottom:26px}
.login-shell .app-area{margin-top:28px}
.login-shell .footer{margin-top:25px}
.login-shell .bottom{gap:15px;line-height:1.5;font-size:10px}
.login-shell .app{padding:8px}
.login-shell .app img{width:32px}
}

.login-shell .toggle{width:auto;margin:0;box-shadow:none;line-height:normal;border-radius:4px;}
.login-shell .submit{margin:0;box-shadow:none;}
.login-shell .forgot{width:100%;height:auto;border:0;background:none;padding:0;box-shadow:none;cursor:pointer;}
.login-shell h1 span{font-size:inherit;font-weight:inherit;}

/* Neutralize legacy decoration and button span sizing. */
.login-shell{background:#f3f5f3;min-height:100vh;}
.login-shell .submit{white-space:nowrap;}
.login-shell .submit span{width:auto;flex:0 0 auto;margin:0;padding:0;}
