/* Plain block layout remains usable without CSS variables, grid or JavaScript. */
html { background:#14191c; color:#dce8e5; font:16px Arial,sans-serif; -webkit-text-size-adjust:100%; }
body { margin:0; background:#14191c; color:#dce8e5; }
*,*:before,*:after { box-sizing:border-box; }
.pf-v5-c-login__container { width:100%; max-width:560px; margin:40px auto; padding:0 20px; }
#kc-header { padding:0 8px 20px; }
#kc-header-wrapper { color:#92d2c5; font-size:25px; font-weight:bold; letter-spacing:.02em; }
main { background:#1c2428; border:1px solid #849d99; border-radius:12px; padding:28px; min-width:0; }
h1 { margin:8px 0 24px; font-size:28px; line-height:1.25; overflow-wrap:break-word; word-wrap:break-word; }
h2,h3,h4 { color:#dce8e5; line-height:1.4; }
p,li { line-height:1.6; overflow-wrap:break-word; word-wrap:break-word; }
p { margin:12px 0; }
form,fieldset { min-width:0; }
fieldset { margin:16px 0; padding:0; border:0; }
legend { padding:0; font-weight:bold; }
label { display:block; min-height:48px; padding:12px 0; line-height:1.5; }
input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea {
  display:block; width:100%; max-width:100%; min-height:48px; border:1px solid #849d99; border-radius:6px;
  background:#14191c; color:#e3eeeb; padding:12px; font:inherit; line-height:1.4; box-shadow:none;
}
input[type=checkbox],input[type=radio] { width:24px; height:24px; margin:0 8px 0 0; vertical-align:middle; }
input[type=hidden],[hidden] { display:none!important; }
button,input[type=submit],input[type=button] { display:inline-block; min-height:48px; max-width:100%; margin:16px 0 0; padding:12px 18px; border:1px solid #92d2c5; border-radius:6px; background:#92d2c5; color:#14191c; font:inherit; line-height:1.4; white-space:normal; cursor:pointer; }
.pf-v5-c-button.pf-m-primary,#kc-login,#kc-submit,#saveRecoveryAuthnCodesBtn { width:100%; }
button:hover,input[type=submit]:hover { background:#b2e5d9; }
button:disabled,input:disabled { color:#c0d1cc; background:#35453f; border-color:#849d99; cursor:default; }
a { color:#92d2c5; text-decoration:underline; overflow-wrap:break-word; word-wrap:break-word; }
a:hover { color:#b2e5d9; }
a:focus,button:focus,input:focus,select:focus,textarea:focus,summary:focus { outline:3px solid #c0f7e9; outline-offset:3px; }
.flowchor-secondary,.pf-v5-c-button.pf-m-secondary,.pf-v5-c-button.pf-m-control,button[data-password-toggle] { display:inline-block; min-height:48px; margin-top:8px; padding:12px; color:#dce8e5; background:#283330; border:1px solid #849d99; border-radius:6px; }
.pf-v5-c-input-group,.pf-v5-c-input-group__item { display:block; min-width:0; }
.flowchor-context { color:#c0d1cc; margin:0; font-size:14px; }
.flowchor-languages { margin:0 0 20px; }
.flowchor-languages a { display:inline-block; min-height:48px; padding:14px 12px 14px 0; }
.flowchor-help { margin-top:28px; border-top:1px solid #849d99; padding-top:12px; }
.flowchor-help summary { min-height:48px; padding:12px 0; color:#92d2c5; cursor:pointer; }
.flowchor-help p { color:#c0d1cc; font-size:15px; }
.pf-v5-c-form__group { margin-bottom:16px; }
.pf-v5-c-helper-text { margin-top:10px; line-height:1.5; }
.pf-v5-c-helper-text__item.pf-m-error,.pf-v5-c-helper-text__item-text.pf-m-error,.kc-feedback-text { color:#f2c5bd; }
.pf-v5-c-alert { margin:16px 0; padding:14px; border:1px solid #849d99; border-radius:6px; line-height:1.6; }
.pf-v5-c-alert.pf-m-success .kc-feedback-text { color:#b2e5d9; }
.pf-screen-reader,.pf-v5-screen-reader { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.flowchor-auth-choices { list-style:none; padding:0; margin:16px 0; }
.flowchor-auth-choices li { margin-bottom:12px; }
.flowchor-auth-choice { display:block; width:100%; text-align:left; background:#283330; color:#dce8e5; border-color:#849d99; }
.flowchor-auth-choice-title { display:block; font-weight:bold; }
.flowchor-auth-choice-description { display:block; margin-top:8px; color:#c0d1cc; }
.flowchor-credential { display:block; border:1px solid #849d99; border-radius:6px; padding:12px; margin-top:8px; }
img { max-width:100%; height:auto; }
#kc-totp-secret-qr-code { display:block; background:#fff; padding:8px; margin:16px 0; }
#kc-totp-secret-key { font-family:monospace; overflow-wrap:anywhere; word-wrap:break-word; }
#kc-recovery-codes-list { font:17px/1.8 monospace; padding-left:28px; }
pre,code { max-width:100%; white-space:pre-wrap; overflow-wrap:break-word; word-wrap:break-word; }
@media(max-width:400px) { .pf-v5-c-login__container { padding:0 12px; margin:20px auto; } main { padding:20px 16px; } h1 { font-size:25px; } }
@media print { html,body,main { background:#fff; color:#000; } #kc-header,.flowchor-help,button,input[type=submit] { display:none; } main { border:0; } }
