html, body { min-height: 100%; }
body.login-pf { background: #f6f5ef; color: #171717; font-family: Arial, sans-serif; }
.login-pf body { background: #f6f5ef; }
.login-pf-page { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 48px 20px; box-sizing: border-box; background: radial-gradient(circle at 8% 8%, #fff3bc 0, transparent 32%), radial-gradient(circle at 92% 90%, #ffeb9b 0, transparent 30%); }
#kc-header { padding: 0; margin: 0 auto 24px; width: 100%; text-align: center; }
#kc-header-wrapper { width: 310px; max-width: 100%; height: 85px; margin: 0 auto; padding: 0; border-radius: 14px; font-size: 0; background: #181818 url('../img/logo.png') center / contain no-repeat; }
.login-pf-page .card-pf { width: 100%; max-width: 460px; margin: 0 auto; padding: 42px 46px; border: 1px solid #ede9d9; border-top: 5px solid #ffca28; border-radius: 22px; background: #fff; box-shadow: 0 22px 70px rgba(40, 34, 12, .1); box-sizing: border-box; }
#kc-page-title { margin: 0 0 9px; color: #171717; font-size: 30px; font-weight: 750; line-height: 1.2; letter-spacing: -.04em; }
#kc-page-title::after { content: 'Вход для администратора Nice Device'; display: block; margin-top: 10px; color: #817e72; font-size: 14px; font-weight: 400; letter-spacing: 0; line-height: 1.5; }
#kc-content-wrapper { margin-top: 28px; }
.login-pf-page .form-group { margin-bottom: 19px; }
.login-pf-page label, .login-pf-page .control-label { margin-bottom: 8px; color: #27261f; font-size: 13px; font-weight: 700; }
.login-pf-page .form-control { height: 49px; padding: 0 14px; border: 1px solid #e0dfd7; border-radius: 10px; background: #fafaf8; box-shadow: none; color: #171717; font-size: 15px; }
.login-pf-page .form-control:focus { outline: 0; border-color: #d8ad00; background: #fff; box-shadow: 0 0 0 3px rgba(255, 202, 40, .22); }
.login-pf-page .pf-c-form-control { display: block; width: 100%; height: 49px; box-sizing: border-box; padding: 0 14px; border: 1px solid #e0dfd7; border-radius: 10px; background: #fafaf8; box-shadow: none; color: #171717; font-size: 15px; }
.login-pf-page .pf-c-form-control:focus { outline: 0; border-color: #d8ad00; background: #fff; box-shadow: 0 0 0 3px rgba(255, 202, 40, .22); }
.login-pf-page .pf-c-input-group { display: flex; }
.login-pf-page .pf-c-input-group .pf-c-form-control { min-width: 0; border-radius: 10px 0 0 10px; }
.login-pf-page .pf-c-input-group .pf-c-button { width: 49px; flex: none; border: 1px solid #e0dfd7; border-left: 0; border-radius: 0 10px 10px 0; background: #fafaf8; cursor: pointer; }
.login-pf-page #kc-login { width: 100%; cursor: pointer; }
.login-pf-page .input-group .form-control { border-radius: 10px 0 0 10px; }
.login-pf-page .input-group .btn { height: 49px; border: 1px solid #e0dfd7; border-left: 0; border-radius: 0 10px 10px 0; background: #fafaf8; color: #555; }
.login-pf-page .btn-primary, .login-pf-page input[type=submit] { min-height: 50px; border: 0; border-radius: 10px; background: #ffca28; color: #171717; font-size: 14px; font-weight: 700; box-shadow: none; transition: background .2s, transform .2s; }
.login-pf-page .btn-primary:hover, .login-pf-page input[type=submit]:hover { background: #f1bd18; color: #171717; }
.login-pf-page .btn:focus-visible { outline: 3px solid #8e7100; outline-offset: 2px; }
.login-pf-page .alert { border-radius: 10px; font-size: 13px; }
.login-pf-page a { color: #806400; }
@media (max-width: 520px) { .login-pf-page { padding: 28px 16px; } #kc-header-wrapper { height: 66px; } .login-pf-page .card-pf { padding: 32px 24px; border-radius: 18px; } #kc-page-title { font-size: 26px; } }
