/* Cormod SSO login theme — mirrors the portal design system
   (portal/app/cormod.css: VS Code Dark+ palette, Inter, 12px cards). */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root, .pf-v5-theme-dark {
  color-scheme: dark;
  --cormod-bg: #1e1e1e;
  --cormod-surface: #252526;
  --cormod-surface2: #2d2d2d;
  --cormod-surface3: #37373d;
  --cormod-accent: #0078d4;
  --cormod-accent-dim: rgba(0, 120, 212, 0.14);
  --cormod-accent-glow: rgba(0, 120, 212, 0.28);
  --cormod-border: #3c3c3c;
  --cormod-text: #cccccc;
  --cormod-text-sub: #9d9d9d;
  --cormod-text-muted: #6b6b6b;
  --cormod-danger: #f14c4c;
  --cormod-success: #4ec9b0;
  --cormod-warning: #cca700;

  --keycloak-logo-url: url('../img/cormod-logo.png');
  --keycloak-logo-height: 72px;
  --keycloak-logo-width: 106px;
  --keycloak-card-top-color: var(--cormod-accent);

  /* PatternFly v5 variables the built-in login form is built from */
  --pf-v5-global--FontFamily--text: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pf-v5-global--FontFamily--heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pf-v5-global--BackgroundColor--100: var(--cormod-surface);
  --pf-v5-global--BackgroundColor--200: var(--cormod-surface2);
  --pf-v5-global--Color--100: var(--cormod-text);
  --pf-v5-global--Color--200: var(--cormod-text-sub);
  --pf-v5-global--Color--light-100: var(--cormod-text);
  --pf-v5-global--BorderColor--100: var(--cormod-border);
  --pf-v5-global--primary-color--100: var(--cormod-accent);
  --pf-v5-global--primary-color--200: #1a8ce0;
  --pf-v5-global--link--Color: var(--cormod-accent);
  --pf-v5-global--link--Color--hover: #4aa3ea;
  --pf-v5-global--active-color--100: var(--cormod-accent);
  --pf-v5-global--danger-color--100: var(--cormod-danger);
  --pf-v5-global--success-color--100: var(--cormod-success);
  --pf-v5-global--warning-color--100: var(--cormod-warning);
}

html, body, .login-pf body {
  background: var(--cormod-bg) !important;
  color: var(--cormod-text);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* card */
.pf-v5-c-login__main {
  background: var(--cormod-surface);
  border: 1px solid var(--cormod-border);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.55), 0 12px 32px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}
.pf-v5-c-login__main-header {
  border-top: 3px solid var(--cormod-accent);
}
.pf-v5-c-login__main-header .pf-v5-c-title,
.pf-v5-c-login__main-header h1 {
  color: var(--cormod-text);
  font-weight: 700;
}
.pf-v5-c-login__main-footer-band {
  background: var(--cormod-surface2);
  border-top: 1px solid var(--cormod-border);
  color: var(--cormod-text-sub);
}

/* header / logo */
#kc-header-wrapper {
  color: var(--cormod-text) !important;
  text-transform: none;
  letter-spacing: 0;
  font-size: 22px;
  font-weight: 700;
}
div.kc-logo-text { background-size: contain; }

/* form controls */
.pf-v5-c-form__label-text,
.pf-v5-c-form__label { color: var(--cormod-text); font-weight: 500; }
.pf-v5-c-form-control,
.pf-v5-c-form-control input,
.pf-v5-c-form-control select {
  background-color: var(--cormod-bg);
  color: var(--cormod-text);
  border-radius: 8px;
}
.pf-v5-c-form-control { --pf-v5-c-form-control--BorderColor: var(--cormod-border); }
.pf-v5-c-form-control::after { border-radius: 8px; }
.pf-v5-c-form-control:focus-within {
  --pf-v5-c-form-control--BorderColor: var(--cormod-accent);
  box-shadow: 0 0 0 3px var(--cormod-accent-glow);
}
.pf-v5-c-form-control input::placeholder { color: var(--cormod-text-muted); }
.pf-v5-c-form-control input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--cormod-bg) inset;
  -webkit-text-fill-color: var(--cormod-text);
}

/* buttons */
.pf-v5-c-button { border-radius: 8px; font-weight: 600; transition: filter 0.15s, background 0.15s; }
.pf-v5-c-button.pf-m-primary {
  background-color: var(--cormod-accent);
  color: #fff;
}
.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus { filter: brightness(1.1); background-color: var(--cormod-accent); }
.pf-v5-c-button.pf-m-secondary {
  background: transparent;
  color: var(--cormod-text);
  border: 1px solid var(--cormod-border);
}
.pf-v5-c-button.pf-m-secondary:hover { background: var(--cormod-surface3); }
.pf-v5-c-button.pf-m-control { background: var(--cormod-surface2); color: var(--cormod-text); }

/* links, checkbox, alerts */
a, .pf-v5-c-button.pf-m-link { color: var(--cormod-accent); }
a:hover { color: #4aa3ea; }
.pf-v5-c-check__label { color: var(--cormod-text-sub); }
.pf-v5-c-alert {
  background: var(--cormod-surface2);
  border: 1px solid var(--cormod-border);
  border-radius: 8px;
  color: var(--cormod-text);
}
.pf-v5-c-alert__title { color: var(--cormod-text); }
.pf-v5-c-alert.pf-m-danger { border-color: var(--cormod-danger); }
.pf-v5-c-alert.pf-m-success { border-color: var(--cormod-success); }
.pf-v5-c-alert.pf-m-warning { border-color: var(--cormod-warning); }
.pf-v5-c-alert.pf-m-info { border-color: var(--cormod-accent); }
.pf-m-error, .kc-feedback-text.pf-m-error { color: var(--cormod-danger); }
hr { border-color: var(--cormod-border); }

/* scrollbar as in portal */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: var(--cormod-border); border-radius: 4px; }

@media (max-width: 767.98px) {
  .pf-v5-c-login__container { grid-template-columns: 1fr; }
  .pf-v5-c-login__main { border-radius: 0; border-left: 0; border-right: 0; }
}
