body:has(.login-shell){background:#edf3f5}.login-shell .auth-one-bg{display:none}.login-shell{padding:0!important;min-height:100vh}.login-shell .auth-page-content{padding:55px 5vw;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;min-height:100vh;gap:5vw}.login-shell .auth-page-content>.container{width:100%;padding:0}.login-shell .col-md-8{width:100%;max-width:480px}.login-shell .auth-logo img{max-width:240px;object-fit:contain}.login-shell .text-white-50{color:#576c7a!important;margin-top:0!important}.login-story{color:#17394c;animation:login-enter .8s ease both}.login-story>span{font-size:11px;letter-spacing:2px;font-weight:700;color:#427d8b}.login-story h1{font-size:clamp(32px,3.6vw,58px);line-height:1.15;font-weight:700;margin:24px 0}.login-story h1 em{font-style:normal;color:#218a89}.login-story p{font-size:17px;max-width:450px;line-height:1.7;color:#5c7381}.login-story img{width:100%;margin:20px 0;animation:harbor-float 7s ease-in-out infinite}.login-story>div{font-size:11px;letter-spacing:2px;color:#5c7381}.login-card{border:1px solid #e0e9ed;border-radius:22px;box-shadow:0 20px 60px #17394c12;animation:login-enter .65s ease both}.login-card .form-control{min-height:46px;border-radius:9px;background:#fafcfd}.login-card .btn-success{background:#187b7d;border-color:#187b7d;border-radius:9px;min-height:46px}.login-card .text-primary{color:#17394c!important}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:18px 0}.login-options input{accent-color:#187b7d}.login-link{border:0;background:none;color:#187b7d;padding:0;font-weight:600;font-size:13px}.login-link:hover{text-decoration:underline}.access-prompt{text-align:center;border-top:1px solid #edf1f4;margin-top:24px;padding-top:20px}.login-shell .footer{position:relative;padding:16px;height:auto}.login-shell [hidden]{display:none!important}.login-shell #auth-extra{margin-top:20px}.login-link:focus-visible{outline:2px solid #187b7d;outline-offset:4px}@keyframes login-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes harbor-float{50%{transform:translateY(-8px)}}@media(max-width:850px){.login-shell .auth-page-content{grid-template-columns:1fr;padding:65px 20px 20px;gap:30px}.login-story{text-align:center}.login-story h1{font-size:32px}.login-story p{margin:auto}.login-story img{max-width:420px;margin:0}.login-story>div{display:none}.login-shell .card{margin-top:0!important}}@media(prefers-reduced-motion:reduce){.login-story,.login-story img,.login-card{animation:none}}

/* Shared navy / teal palette, with explicit contrast over the global UI theme. */
.login-shell .auth-logo{background:#17394c;border-radius:15px;padding:17px 26px;box-shadow:0 8px 24px #17394c12}
.login-shell .auth-logo img{height:48px;max-width:220px}
.login-shell .login-card .btn-success{color:#fff!important;background:#187b7d!important;border-color:#187b7d!important;width:100%!important;min-height:46px;font-weight:600;box-shadow:0 5px 14px #187b7d20}
.login-shell .login-card .btn-success:hover{background:#126365!important;border-color:#126365!important}
.login-shell .login-card .btn-success:disabled{color:#fff!important;opacity:.65}
.login-shell .login-card .form-control{color:#17394c;border-color:#cedde2;background:#f8fbfc}
.login-shell .login-card .form-control:focus{border-color:#187b7d;box-shadow:0 0 0 3px #187b7d18}
.login-shell .login-card .form-label,.login-shell .login-card label{color:#294b5c}
.login-shell .login-card .text-muted{color:#607783!important}
.login-shell .login-card .form-control::placeholder{color:#708591;opacity:1}
.login-shell .login-card .card-body{padding:32px!important}
.login-shell .login-options{font-size:13px}.login-shell .login-options small{color:#607783}
@media(max-width:450px){.login-shell .login-card .card-body{padding:22px!important}.login-shell .login-options{gap:8px;font-size:12px}.login-shell .login-options .login-link{font-size:12px}}

.login-shell .login-story h1{color:#17394c}
