/* SAFE portal skin for the Keycloak login (keycloak.v2 parent, KC 26). */
:root{
  --ink:#0A0D13; --surface:#12161F; --surface-2:#181D29;
  --line:#262D3D; --line-2:#334059; --teal:#2EE6C9; --violet:#8C7CF7;
  --text:#EDEFF4; --muted:#8A93AB;
}
body.login-pf, .login-pf-page, .pf-v5-c-login, .pf-v5-c-background-image{
  background:var(--ink) !important;
  background-image:
    radial-gradient(ellipse 700px 260px at 20% -10%, rgba(140,124,247,.14), transparent),
    radial-gradient(ellipse 700px 260px at 85% -10%, rgba(46,230,201,.10), transparent) !important;
  color:var(--text);
  font-family:'Inter',-apple-system,'Segoe UI',Roboto,sans-serif;
}
.card-pf, .pf-v5-c-login__main{
  background:var(--surface) !important;
  border:1px solid var(--line); border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  position:relative; overflow:hidden;
}
.card-pf::before, .pf-v5-c-login__main::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--teal),var(--violet));
}
#kc-header-wrapper, .pf-v5-c-login__header{
  color:var(--text) !important; font-weight:700; font-size:22px;
  letter-spacing:.02em; text-transform:none;
}
.safe-brand b{ color:var(--teal); }
h1, #kc-page-title, .pf-v5-c-login__main-header h1{ color:var(--text) !important; }
label, .pf-v5-c-form__label-text{ color:var(--muted) !important; }
.pf-v5-c-form-control, .pf-v5-c-form-control > input,
input[type=text], input[type=password]{
  background:var(--surface-2) !important; color:var(--text) !important;
  border:1px solid var(--line-2) !important; border-radius:10px !important;
}
.pf-v5-c-form-control:focus-within, input[type=text]:focus, input[type=password]:focus{
  border-color:var(--teal) !important;
  box-shadow:0 0 0 2px rgba(46,230,201,.25) !important; outline:none !important;
}
.pf-v5-c-button.pf-m-primary, input#kc-login, #kc-login{
  background:var(--teal) !important; color:#04110F !important;
  border:none !important; border-radius:10px !important; font-weight:700;
}
.pf-v5-c-button.pf-m-primary:hover, #kc-login:hover{ filter:brightness(1.08); }
a{ color:var(--teal) !important; }
#kc-social-providers h2, .kc-social-section h2, #kc-social-providers hr{
  color:var(--muted); border-color:var(--line);
}
#kc-social-providers a, .kc-social-item,
.pf-v5-c-login__main-footer-links-item a{
  background:var(--surface-2) !important; color:var(--text) !important;
  border:1px solid var(--line-2) !important; border-radius:10px !important;
}
#kc-social-providers a:hover, .kc-social-item:hover{ border-color:var(--teal) !important; }
.pf-v5-c-alert, .alert{
  background:var(--surface-2) !important; color:var(--text) !important;
  border:1px solid var(--line-2) !important; border-radius:10px !important;
}
#kc-info, footer, .login-pf-page .login-pf-signup{ color:var(--muted) !important; }
