/* ── Nextera Login Page — Brand Design ────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

/* ── Global ── */
body.login-pf {
  background: #e8e0d8 url('../img/spheres-bg.jpg') no-repeat center center !important;
  background-size: cover !important;
  font-family: 'IBM Plex Sans', sans-serif !important;
}

/* Скрываем оригинальное лого-изображение */
div.kc-logo-text {
  display: none !important;
}

/* Страница: flex-колонка, всё по центру */
.login-pf-page {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh;
  gap: 0;
  padding: 2rem 1rem;
}

/* Хедер над формой */
#kc-header,
.login-pf-page-header {
  width: 100% !important;
  max-width: 420px !important;
  text-align: center !important;
  position: static !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 0 1.5rem !important;
}

/* ── Nextera Branding ── */
#kc-header-wrapper {
  font-size: 0 !important;
  color: transparent !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5rem;
}

/* "nextera" — логотип */
#kc-header-wrapper::before {
  content: 'nextera';
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  font-family: 'IBM Plex Sans', sans-serif;
  color: #1a1a1a;
  -webkit-text-fill-color: #1a1a1a;
}

/* Подпись */
#kc-header-wrapper::after {
  content: 'корпоративная вайбкод-платформа';
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  -webkit-text-fill-color: #b2886f;
  color: #b2886f;
  font-family: 'IBM Plex Sans', sans-serif;
}

/* ── Форма входа — карточка ── */
.card-pf {
  max-width: 420px;
  width: 100%;
  margin: 0 !important;
  border-radius: 16px;
  border: 1px solid #e8e2dc;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  float: none !important;
  position: static !important;
}

#kc-form-login {
  width: 100%;
}

/* ── Инпуты ── */
.login-pf input[type="text"],
.login-pf input[type="password"],
.login-pf input[type="email"] {
  font-family: 'IBM Plex Sans', sans-serif !important;
  border-radius: 10px !important;
  border: 1px solid #e8e2dc !important;
  background: #f5f0eb !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  transition: border-color 0.2s !important;
}

.login-pf input[type="text"]:focus,
.login-pf input[type="password"]:focus,
.login-pf input[type="email"]:focus {
  border-color: #44d62c !important;
  box-shadow: 0 0 0 2px rgba(68, 214, 44, 0.15) !important;
  outline: none !important;
}

/* ── Кнопка входа ── */
#kc-login {
  font-family: 'IBM Plex Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  background: #1a1a1a !important;
  border: none !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  width: 100%;
}

#kc-login:hover {
  background: #333333 !important;
}

/* ── Ссылки ── */
.login-pf a {
  color: #b2886f !important;
  font-family: 'IBM Plex Sans', sans-serif !important;
}

.login-pf a:hover {
  color: #8a6a55 !important;
}

/* ── Labels ── */
.login-pf label {
  font-family: 'IBM Plex Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  color: #7a7570 !important;
}

/* ── Realm hints ── */
#kc-form-login[action*="/realms/master/"]::before,
#kc-form-login[action*="/realms/nextera/"]::before {
  display: block;
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 12px;
  font-family: 'IBM Plex Sans', sans-serif;
  line-height: 1.4;
  border: 1px solid transparent;
  white-space: pre-line;
}

#kc-form-login[action*="/realms/master/"]::before {
  content: "Admin Console · realm: master";
  color: #b2886f;
  background: rgba(178, 136, 111, 0.08);
  border-color: rgba(178, 136, 111, 0.2);
}

#kc-form-login[action*="/realms/nextera/"]::before {
  content: "User Login · realm: nextera";
  color: #44d62c;
  background: rgba(68, 214, 44, 0.06);
  border-color: rgba(68, 214, 44, 0.15);
}

/* Убираем Bootstrap float/grid */
.login-pf-page .col-sm-10,
.login-pf-page .col-sm-offset-1 {
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  float: none;
}

/* ── Alert messages ── */
.alert {
  border-radius: 10px !important;
  font-family: 'IBM Plex Sans', sans-serif !important;
  font-size: 13px !important;
}

/* ── Footer ── */
#kc-info {
  font-family: 'IBM Plex Sans', sans-serif !important;
}
