@font-face{font-family:Inter;src:url('../fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--mainengel-navy:#173969;--mainengel-text:#1b2b44;--mainengel-muted:#556377;--mainengel-blue:#699bec;--mainengel-yellow:#ffcc66;--mainengel-coral:#ff6b6b}
html.login-pf,html.login-pf body,.login-pf body{min-height:100%;background:#f7f9fc;background-image:radial-gradient(ellipse at top left,#eaf2ff 0,transparent 60%),radial-gradient(ellipse at bottom right,#fff2d5 0,transparent 50%);font-family:Inter,Arial,sans-serif;color:#1b2b44}
.login-pf-page{padding:48px 20px 32px}
#kc-header{margin:0 auto 24px;color:#173969;max-width:480px}
#kc-header-wrapper{padding:0;font-family:Inter,Arial,sans-serif;letter-spacing:0;text-transform:none;font-weight:750;font-size:24px;line-height:1.3}
#kc-header-wrapper:before{content:"";display:block;width:88px;height:88px;margin:0 auto 16px;background:url('../img/mainengel-logo.png') center/contain no-repeat}
.login-pf-page .card-pf{max-width:480px;margin:auto;padding:30px 32px;border:1px solid #d8e1ee;border-top:4px solid #699bec;border-radius:20px;box-shadow:0 12px 40px #17396912;background:#fff}
#kc-page-title{font-family:Inter,Arial,sans-serif;color:#1b2b44;font-weight:750;font-size:26px;line-height:1.3}
.login-pf-page .login-pf-header{margin-bottom:24px}
label,.control-label,.pf-c-form__label{color:#1b2b44;font-size:15px;font-weight:650}
.form-control,input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"]{min-height:48px;border:1px solid #7187a4;border-radius:10px;background:#fff;color:#1b2b44;font:16px/1.5 Inter,Arial,sans-serif;padding:10px 12px;box-shadow:none}
.form-control:focus,input:focus{border-color:#477ed5;outline:3px solid #699bec66;outline-offset:1px;box-shadow:none}
.btn-primary,.pf-c-button.pf-m-primary,#kc-login{min-height:48px;padding:12px 18px;border:1px solid #173969;border-radius:10px;background:#173969;color:#fff;font:650 16px/1.4 Inter,Arial,sans-serif;box-shadow:none;text-shadow:none}
.btn-primary:hover,.btn-primary:focus,#kc-login:hover{background:#27548f;border-color:#27548f}
.btn-default,.pf-c-button.pf-m-control{border:1px solid #7187a4;color:#173969;background:#eaf2ff;border-radius:8px}
a{color:#27548f;text-decoration:underline;text-underline-offset:3px}a:hover,a:focus{color:#173969}
#kc-info-wrapper{border-top:1px solid #d8e1ee;background:#f1f6ff;color:#556377;padding:18px;border-radius:0 0 14px 14px;font-size:14px}
.login-pf-page .login-pf-signup,#kc-form-options,.instruction{color:#556377;font-size:14px;line-height:1.6}
.alert{border:1px solid #b7cef2;border-radius:10px;background:#eaf2ff;color:#173969;padding:14px;line-height:1.5}
.alert-error,.alert-danger{border-color:#e5a7a4;background:#fff0ed;color:#b53443}
.alert-warning{border-color:#e3b953;background:#fff2d5;color:#71440c}
.alert-success,.alert-info{border-color:#b7cef2;background:#eaf2ff;color:#173969}
@media(max-width:520px){.login-pf-page{padding:24px 14px}.login-pf-page .card-pf{padding:24px 20px}#kc-header-wrapper{font-size:21px}#kc-page-title{font-size:24px}}
