/**
 * Přihlášení hráč + admin – čistý layout bez dvojité karty a 3D „krabic“
 * Načítat jako poslední design vrstva (po pk-buttons.css).
 */

/* --- Outer shell: jedna karta, ne content-container + wrapper + card --- */
body.pk-portal-page .main-content:has(.login-card) {
  padding: 1.25rem 1rem 2.5rem !important;
}

body.pk-portal-page .main-content:has(.login-card) .content-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

body.pk-portal-page .main-content:has(.login-card) .page-header {
  margin-bottom: 1.25rem !important;
}

body.pk-portal-page .main-content:has(.login-card) .page-title {
  font-size: clamp(1.6rem, 5vw, 2.1rem) !important;
}

body.pk-portal-page .main-content:has(.login-card) .page-subtitle {
  font-size: 0.98rem !important;
  max-width: 36ch;
  margin-left: auto;
  margin-right: auto;
}

body.pk-portal-page .login-wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}

body.pk-portal-page .login-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(15, 31, 20, 0.08) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 40px rgba(10, 22, 16, 0.1) !important;
  width: 100% !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  padding: 1.75rem 1.35rem !important;
  box-sizing: border-box !important;
}

body.pk-portal-page .login-header {
  margin-bottom: 1.35rem !important;
  text-align: center;
}

body.pk-portal-page .login-header h2 {
  color: #0f1f14 !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-size: clamp(1.35rem, 4.5vw, 1.75rem) !important;
  margin-bottom: 0.35rem !important;
}

body.pk-portal-page .login-header p {
  color: #3d5444 !important;
  font-size: 0.95rem !important;
}

/* --- Flat modern fields (kill 3D comic look) --- */
body.pk-portal-page .pk-ui3d-field {
  background: #f3f7f4 !important;
  border: 1.5px solid rgba(15, 31, 20, 0.12) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transform: none !important;
  perspective: none !important;
  transform-style: flat !important;
  padding: 0.85rem 0.85rem 0.75rem !important;
  gap: 0.65rem !important;
  margin-bottom: 1.15rem !important;
  width: 100% !important;
  max-width: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

body.pk-portal-page .pk-ui3d-field:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(31, 170, 58, 0.35) !important;
  background: #f7fbf8 !important;
}

body.pk-portal-page .pk-ui3d-field:focus-within {
  border-color: rgba(31, 170, 58, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(31, 170, 58, 0.16) !important;
  background: #fff !important;
}

body.pk-portal-page .pk-ui3d-field__shadow {
  display: none !important;
}

body.pk-portal-page .pk-ui3d-field::before {
  top: -0.55rem !important;
  left: 0.85rem !important;
  background: #fff !important;
  color: #0d5c1a !important;
  border: 1px solid rgba(13, 92, 26, 0.22) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transform: none !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  padding: 0.15rem 0.55rem !important;
}

body.pk-portal-page .pk-ui3d-field__iconbtn {
  border: none !important;
  background: linear-gradient(135deg, #1faa3a, #0d5c1a) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 0.55rem !important;
  width: 2.6rem;
  height: 2.6rem;
  flex-shrink: 0;
}

body.pk-portal-page .pk-ui3d-field__iconbtn:hover {
  transform: none !important;
  box-shadow: none !important;
  filter: brightness(1.05);
}

body.pk-portal-page .pk-ui3d-field__input {
  border: 1px solid rgba(15, 31, 20, 0.1) !important;
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 0.75rem 0.85rem !important;
  font-size: 1rem !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  color: #0f1f14 !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.pk-portal-page .pk-ui3d-field__input:hover,
body.pk-portal-page .pk-ui3d-field__input:focus {
  background: #fff !important;
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(31, 170, 58, 0.4) !important;
  outline: none !important;
}

body.pk-portal-page .pk-ui3d-field__input::placeholder {
  color: #6b8574 !important;
  font-weight: 500 !important;
  opacity: 1 !important;
  font-size: 0.92rem !important;
}

/* --- Submit: jeden pill (ne oval + obdélník) --- */
body.pk-portal-page button.pk-ui3d-submit,
body.pk-portal-page .pk-ui3d-submit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 0.35rem !important;
  padding: 0 !important;
  border: none !important;
  background: linear-gradient(135deg, #1faa3a 0%, #0d5c1a 100%) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 28px rgba(13, 92, 26, 0.32) !important;
  perspective: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  min-height: 3.15rem !important;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease !important;
}

body.pk-portal-page .pk-ui3d-submit:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.05) !important;
  box-shadow: 0 14px 36px rgba(13, 92, 26, 0.42) !important;
}

body.pk-portal-page .pk-ui3d-submit:active {
  transform: translateY(0) !important;
  filter: brightness(0.98) !important;
}

body.pk-portal-page .pk-ui3d-submit__shadow {
  display: none !important;
}

body.pk-portal-page .pk-ui3d-submit__inner {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  width: auto !important;
  padding: 0.95rem 1.4rem !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: #fff !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

body.pk-portal-page .pk-ui3d-submit:hover .pk-ui3d-submit__inner,
body.pk-portal-page .pk-ui3d-submit:active .pk-ui3d-submit__inner {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.pk-portal-page .pk-ui3d-submit__text {
  color: #fff !important;
}

/* Remember me – méně „krabicové“ */
body.pk-portal-page .pk-remember-footballer {
  margin: 0.35rem 0 1rem !important;
}

body.pk-portal-page .pk-remember-footballer__pill {
  border-radius: 999px !important;
  border: 1.5px solid rgba(15, 31, 20, 0.12) !important;
  background: #f3f7f4 !important;
  box-shadow: none !important;
}

/* Footer links in card */
body.pk-portal-page .login-card .forgot-password,
body.pk-portal-page .login-card .login-info {
  margin-top: 1.25rem !important;
  text-align: center;
}

body.pk-portal-page .login-card .forgot-password a {
  color: #0d5c1a !important;
  font-family: "ProtestStrike", Impact, sans-serif !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.pk-portal-page .login-card .login-info {
  border-top: 1px solid rgba(15, 31, 20, 0.08) !important;
  padding-top: 1rem !important;
}

/* --- Mobile: max šířka, kratší nápověda přes field sizing --- */
@media (max-width: 640px) {
  body.pk-portal-page .main-content:has(.login-card) {
    padding: 0.85rem 0.65rem 2rem !important;
  }

  body.pk-portal-page .main-content:has(.login-card) .content-container {
    max-width: 100% !important;
  }

  body.pk-portal-page .login-card {
    max-width: 100% !important;
    padding: 1.35rem 1rem !important;
    border-radius: 18px !important;
  }

  body.pk-portal-page .pk-ui3d-field {
    padding: 0.75rem 0.7rem 0.65rem !important;
    gap: 0.5rem !important;
  }

  body.pk-portal-page .pk-ui3d-field__iconbtn {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0.4rem !important;
  }

  body.pk-portal-page .pk-ui3d-field__input {
    padding: 0.7rem 0.65rem !important;
    font-size: 0.95rem !important;
  }

  body.pk-portal-page .pk-ui3d-field__input::placeholder {
    font-size: 0.82rem !important;
  }

  body.pk-portal-page .pk-ui3d-submit__inner {
    padding: 0.85rem 1.1rem !important;
    font-size: 1rem !important;
  }
}

/* Dark mode login */
html.pk-dark-mode body.pk-portal-page .login-card {
  background: rgba(14, 28, 20, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html.pk-dark-mode body.pk-portal-page .pk-ui3d-field {
  background: rgba(10, 22, 16, 0.75) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html.pk-dark-mode body.pk-portal-page .pk-ui3d-field__input {
  background: rgba(14, 28, 20, 0.95) !important;
  color: #e8f5e9 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html.pk-dark-mode body.pk-portal-page .pk-ui3d-field::before {
  background: #122018 !important;
  color: #86efac !important;
  border-color: rgba(143, 190, 99, 0.35) !important;
}

html.pk-dark-mode body.pk-portal-page .login-header h2,
html.pk-dark-mode body.pk-portal-page .main-content:has(.login-card) .page-title {
  color: #e8f5e9 !important;
}
