html.login-pf, .login-pf body { background: #faf6ed; color: #233e34; font-family: "Trebuchet MS", Arial, sans-serif; font-size: 14px; }
body { margin: 0; }
a { color: #235747; }
a:hover { color: #174e3a; }
.login-pf-page { padding: 0; }
.bm-pilot { text-align: center; font-size: 11px; letter-spacing: .1em; background: #e9efe6; padding: 8px 12px; color: #54664e; }
.bm-header { max-width: 1280px; margin: auto; padding: 0 48px; height: 94px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dde4da; }
.bm-logo { display: inline-flex; align-items: center; gap: 3px; font-size: 26px; letter-spacing: -1.2px; font-weight: 750; color: #233e34; text-decoration: none; }
.bm-logo:hover { text-decoration: none; }
.bm-light { font-weight: 400; }
.bm-mark { background: #235747; color: white; width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; margin-right: 9px; }
.bm-intro { max-width: 480px; margin: 52px auto 24px; }
.bm-intro span { font-size: 11px; font-weight: 600; letter-spacing: .16em; color: #64776c; }
.bm-intro p { font-size: 36px; font-weight: 600; letter-spacing: -.035em; margin: 14px 0 0; }
.login-pf-page .card-pf { width: calc(100% - 40px); max-width: 480px; padding: 32px; border: 1px solid #dde4da; border-radius: 12px; box-shadow: none; margin: 0 auto 56px; background: white; }
.login-pf-page .login-pf-header { margin-bottom: 24px; text-align: left; }
#kc-page-title { font-size: 25px; line-height: 1.2; letter-spacing: -.035em; font-weight: 600; margin: 0; color: #233e34; }
.login-pf-page .form-group { margin-bottom: 20px; }
.login-pf-page label { font-size: 13px; font-weight: 600; color: #233e34; margin-bottom: 7px; }
.login-pf-page .pf-c-form-control, .login-pf-page .form-control { background: white; color: #233e34; border: 1px solid #cdd5ca; border-radius: 7px; height: 44px; padding: 10px 12px; font-size: 14px; }
.login-pf-page .pf-c-input-group { align-items: stretch; }
.login-pf-page .pf-c-input-group .pf-c-form-control { border-radius: 7px 0 0 7px; }
.login-pf-page .pf-c-button.pf-m-control { background: #f4f7f0; border: 1px solid #cdd5ca; border-radius: 0 7px 7px 0; color: #235747; }
.login-pf-page .pf-c-button.pf-m-primary, .login-pf-page input[type=submit] { background: #235747; color: white; border: 0; border-radius: 7px; padding: 11px 18px; min-height: 42px; font-size: 14px; font-weight: 600; box-shadow: none; }
.login-pf-page .pf-c-button.pf-m-primary:hover { background: #174e3a; }
#kc-form-buttons { margin-top: 24px; }
#kc-info-wrapper { background: transparent; padding: 20px 0 0; border-top: 1px solid #dde4da; font-size: 14px; }
#kc-info { margin: 24px 0 0; }
.login-pf-page .login-pf-signup { color: #64776c; }
#kc-registration { font-size: 14px; }
#kc-registration a { margin-left: 6px; font-weight: 600; }
.bm-footer { max-width: 1184px; padding: 28px 0; margin: auto; border-top: 1px solid #dde4da; color: #64776c; }
.bm-footer p { margin-top: 14px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #bf8c47; outline-offset: 3px; }
#kc-totp-settings { padding-left: 20px; }
#kc-totp-settings li { margin-bottom: 16px; }
#kc-totp-secret-qr-code { max-width: 100%; height: auto; }
@media (max-width: 600px) { .bm-header { padding: 0 20px; height: 86px; gap: 16px; } .bm-back { font-size: 12px; max-width: 110px; text-align: right; } .bm-intro { margin: 32px 20px 24px; } .bm-intro p { font-size: 31px; } .login-pf-page .card-pf { padding: 24px; } .bm-footer { margin: 0 20px; } }
.login-pf-page .login-pf-header #kc-page-title { text-align: left; }

.bm-pilot { background: #235747; color: #faf6ed; font-size: 10px; }
.bm-logo img { display: block; width: 220px; height: auto; }
.bm-intro p, #kc-page-title { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.bm-intro p { font-size: 42px; }
.login-pf-page .card-pf { border-radius: 24px 24px 12px 12px; border-top: 4px solid #e9ba65; }
.login-pf-page .pf-c-button.pf-m-primary, .login-pf-page input[type=submit] { border-radius: 30px; }
.bm-footer { border-top-color: #233e34; }
@media (max-width: 600px) { .bm-logo img { width: 175px; } .bm-intro p { font-size: 36px; } }
