/* Shared ProfitProp identity style; inherited Keycloak forms retain accessibility and security behavior. */
:root { color-scheme: light; --pp-ink:#152331; --pp-green:#087e68; }
.login-pf, .login-pf body { background:#f4f6f8; color:var(--pp-ink); font-family:Inter,"Segoe UI",Arial,sans-serif; }
.login-pf body { min-height:100vh; margin:0; }
.login-pf-page { min-height:100vh; padding:100px 5vw 60px 55vw; display:flex; flex-direction:column; justify-content:center; position:relative; }
.login-pf-page::before { content:"Ваш следующий\aуровень начинается\aздесь."; white-space:pre-wrap; position:fixed; inset:0 50% 0 0; display:flex; align-items:center; padding:72px 5vw; background:radial-gradient(ellipse at 10% 90%,#17534f 0,transparent 65%),#102b32; color:#f1faf6; font-size:clamp(32px,3.7vw,60px); line-height:1.12; font-weight:600; letter-spacing:-2px; }
#kc-header { position:fixed; top:56px; left:5vw; margin:0; padding:0; text-align:left; width:auto; color:#f1faf6; }
#kc-header-wrapper { padding:0; font-size:28px; font-weight:650; text-transform:none; letter-spacing:-1px; }
.pp-dot { color:#8ee2bf; }
.login-pf-page .card-pf { width:100%; max-width:460px; margin:0 auto; padding:36px; border:1px solid #dfe7ed; border-radius:20px; box-shadow:0 16px 45px #102b3209; background:#fff; }
.login-pf-page .login-pf-header { margin-bottom:28px; }
#kc-page-title { color:var(--pp-ink); font-size:28px; font-weight:650; letter-spacing:-.7px; text-align:left; line-height:1.2; margin:0; }
.login-pf-page .form-group { margin-bottom:22px; }
.login-pf-page label { color:#273e4e; font-size:13px; font-weight:600; margin-bottom:8px; }
.login-pf-page .form-control, .login-pf-page .pf-c-form-control { border:1px solid #d5dfe7; border-radius:9px; background:#fff; color:var(--pp-ink); height:46px; box-shadow:none; padding:10px 12px; font-size:15px; }
.login-pf-page input:focus { outline:2px solid #8ee2bf; outline-offset:2px; border-color:var(--pp-green); }
.login-pf-page .pf-c-input-group { border-radius:9px; }
.login-pf-page .pf-c-input-group input { border-radius:9px 0 0 9px; }
.login-pf-page .pf-c-input-group .pf-c-button { border:1px solid #d5dfe7; border-left:0; border-radius:0 9px 9px 0; background:#f4f6f8; color:#627587; }
.login-pf-page .pf-c-button.pf-m-primary, #kc-login { background:var(--pp-green); color:#fff; border:0; border-radius:9px; font-size:15px; font-weight:600; min-height:46px; box-shadow:none; }
.login-pf-page .pf-c-button.pf-m-primary:hover, #kc-login:hover { background:#07634f; }
.login-pf-page a { color:var(--pp-green); }
.login-pf-page a:focus-visible, .login-pf-page button:focus-visible { outline:2px solid #087e68; outline-offset:3px; }
#kc-info { margin:26px 0 0; }
#kc-info-wrapper { background:#f4f8f6; color:#627587; border-radius:10px; padding:18px; font-size:13px; }
#kc-content-wrapper { margin-top:0; }
.pp-footer { border-top:1px solid #e5ecef; margin-top:26px; padding-top:20px; display:flex; flex-direction:column; gap:12px; font-size:12px; color:#627587; }
.login-pf-page .alert-error, .login-pf-page .pf-c-alert.pf-m-danger { background:#fff1f1; color:#a92935; border-radius:9px; }
#kc-locale { top:-22px; }
@media(max-width:800px) {
 .login-pf-page { padding:110px 20px 32px; justify-content:flex-start; }
 .login-pf-page::before { display:none; }
 #kc-header { position:absolute; top:32px; left:0; width:100%; text-align:center; color:#102b32; }
 .login-pf-page .card-pf { padding:28px 24px; }
 #kc-page-title { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }
