html, body.login-page { min-height: 100%; }
body.login-page { margin: 0; color: #243746; font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; background: linear-gradient(135deg, #0d4d54 0%, #176c67 48%, #79a85d 100%); }
.login-page:before { position: fixed; inset: 0; z-index: -1; content: ""; background: radial-gradient(circle at 15% 20%, rgba(255,255,255,.18), transparent 28%), radial-gradient(circle at 88% 78%, rgba(255,255,255,.14), transparent 24%); }
.login-shell { display: flex; align-items: center; min-height: calc(100vh - 58px); padding-top: 28px; padding-bottom: 28px; }
.login-shell > .row { width: 100%; }
.login-card { margin: 0; overflow: hidden; border: 0; border-radius: 14px; background: rgba(255,255,255,.98); box-shadow: 0 22px 55px rgba(5,37,40,.34); }
.login-card .panel-body { padding: 38px 40px 30px; }
.login-brand { margin-bottom: 28px; }
.login-kicker, .login-subtitle { margin: 0; color: #6d7e87; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.login-brand h1 { margin: 8px 0 7px; color: #12585d; font-size: 30px; font-weight: 700; letter-spacing: -.04em; }
.login-subtitle { font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.login-form .form-group { margin-bottom: 20px; }
.login-form label { margin-bottom: 8px; color: #38515b; font-size: 12px; font-weight: 600; }
.login-form .input-group-addon, .login-form .form-control, .login-form .password-toggle { height: 46px; border-color: #d9e2e3; box-shadow: none; }
.login-form .input-group-addon { min-width: 46px; color: #26716f; background: #f5f8f8; }
.login-form .form-control { border-left: 0; font-size: 14px; }
.login-form .form-control:focus { border-color: #3c9088; box-shadow: none; }
.login-form .input-group:focus-within .input-group-addon, .login-form .input-group:focus-within .password-toggle { border-color: #3c9088; }
.login-form .password-toggle { color: #5e7179; background: #fff; border-left: 0; }
.login-form .password-toggle:hover, .login-form .password-toggle:focus { color: #12585d; background: #f5f8f8; outline: 0; }
.login-submit { min-height: 48px; margin-top: 8px; border: 0; border-radius: 5px; background: #176c67; font-size: 14px; font-weight: 600; letter-spacing: .01em; }
.login-submit:hover, .login-submit:focus { background: #0f5754; }
.login-submit .fa-arrow-right { margin-left: 7px; }
.login-help { margin: 22px 0 0; font-size: 12px; }
.login-help a { color: #176c67; font-weight: 600; }
.login-alert:empty { display: none; }
.login-alert #divStatus, .login-alert #steperror { margin: 0 0 18px; padding: 11px 13px; border: 1px solid #f0d5a8; border-radius: 4px; color: #765320; background: #fff9ef; }
.login-alert #steperror { border-color: #ebc6c6; color: #8a3434; background: #fff4f4; }
.login-alert #divStatus table, .login-alert #steperror h5 { width: 100% !important; margin: 0; color: inherit; font-size: 12px; }
.login-alert #divStatus td { padding: 0; }
.login-alert #divStatus img, .login-alert #steperror img { display: none; }
.login-footer { padding: 0 15px 18px; color: rgba(255,255,255,.8); font-size: 11px; }
@media (max-width: 767px) { .login-shell { min-height: calc(100vh - 50px); padding: 20px 12px; } .login-card .panel-body { padding: 30px 24px 24px; } .login-brand h1 { font-size: 27px; } }
