/* NIRIS SSO — Keycloak login theme */

body, .login-pf {
  background: #141414 !important;
  color: #eeeeee !important;
  font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace !important;
}

/* Login container — centered on desktop, full-width on mobile */
#kc-content-wrapper, .pf-c-login__main, .login-pf-page {
  max-width: 420px !important;
  margin: 0 auto !important;
}

#kc-container-wrapper, .pf-c-login {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 100vh !important;
}

@media (max-width: 640px) {
  #kc-content-wrapper, .pf-c-login__main, .login-pf-page {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 16px !important;
  }
}

/* Card */
#kc-form-wrapper, .card-pf, #kc-login {
  background: #1a1a1a !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
  padding: 32px !important;
}

/* Header / title */
#kc-header-wrapper, .kc-logo-text {
  color: #00d4aa !important;
  font-family: monospace !important;
  letter-spacing: 0.15em !important;
  text-shadow: 0 0 10px rgba(0, 212, 170, 0.4), 0 0 24px rgba(0, 212, 170, 0.15) !important;
}

h1, h2, .login-pf-header, #kc-page-title {
  color: #eeeeee !important;
  font-family: monospace !important;
}

/* Labels */
label, .control-label {
  color: #b8b8b8 !important;
  font-family: monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

/* Inputs */
input[type="text"], input[type="password"], input[type="email"],
.form-control, #username, #password {
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  color: #eeeeee !important;
  font-family: monospace !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
}

input:focus, .form-control:focus {
  border-color: #00d4aa !important;
  box-shadow: 0 0 0 2px rgba(0, 212, 170, 0.15) !important;
  outline: none !important;
}

/* Submit button */
input[type="submit"], .btn-primary, #kc-login {
  background: #00d4aa !important;
  color: #141414 !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: monospace !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  padding: 10px 20px !important;
  transition: opacity 0.15s ease !important;
}

input[type="submit"]:hover, .btn-primary:hover {
  opacity: 0.9 !important;
}

/* Links */
a, .login-pf a {
  color: #00d4aa !important;
}

a:hover {
  color: #00ffcc !important;
}

/* Footer */
.kc-footer-text, .pf-c-login__footer {
  color: #8a8a8a !important;
  font-family: monospace !important;
  font-size: 11px !important;
}

/* Error messages */
.alert-error, .kc-feedback-text {
  color: #ff4757 !important;
  background: rgba(255, 71, 87, 0.1) !important;
  border-color: rgba(255, 71, 87, 0.3) !important;
  border-radius: 6px !important;
}

/* Remember me checkbox */
.checkbox label, .pf-c-check__label {
  color: #8a8a8a !important;
}
