/* Guest login only: shared forms, registration and signed-in pages retain their styles. */
.athens-login-only .athens-auth-backdrop {
  background: #070604 url('/images/login/gold-constellation-backdrop.png') center / cover no-repeat;
  pointer-events: none;
  transform-origin: center;
  will-change: transform;
}
.partner-login-stars {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.athens-login-only .athens-auth-layer { padding: 24px; }
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) {
  width: min(462px, 100%);
  min-height: 606px;
  transform: translateY(-8px);
  padding: 38px 40px 40px;
  display: block;
  border: 1px solid #cfac64;
  border-radius: 13px;
  color: #e6d5ae;
  background: linear-gradient(145deg, rgba(25, 22, 16, .5), rgba(8, 8, 7, .5) 60%);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  box-shadow: 0 0 4px #f7dd99aa, 0 0 38px #e2b55b20, 0 24px 50px #0009, inset 0 1px 0 #ffe8ae40;
}
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register)::before,
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register)::after {
  content: '';
  position: absolute;
  pointer-events: none;
  left: 25%;
  right: 25%;
  height: 1px;
  background: #f8dfab;
  box-shadow: 0 0 10px 2px #e8b95c60;
}
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register)::before { top: 0; }
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register)::after { bottom: 0; }
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) > img {
  width: 224px;
  height: 106px;
  object-fit: contain;
  margin: -12px auto 22px;
  mix-blend-mode: screen;
}
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) .athens-auth-badge { display: none; }
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) h2 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0 0 4px;
  text-align: center;
  color: #fff4d7;
  font-size: 36px;
  line-height: 46px;
  font-weight: 800;
  letter-spacing: .04em;
}
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) h2::before,
.athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) h2::after {
  content: '';
  flex: 1;
  border-top: 1px solid #a4813b65;
}
.athens-login-only #user-login-form { gap: 18px; }
.partner-login-ornament { display: none; }
.athens-login-only .partner-login-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 10px;
  margin: 0 0 6px;
}
.athens-login-only .partner-login-ornament::before,
.athens-login-only .partner-login-ornament::after { content: ''; width: 48px; border-top: 1px solid #a4813b65; }
.athens-login-only .partner-login-ornament img { width: 9px; height: 9px; transform: rotate(45deg); }
.athens-login-only #user-login-form label {
  position: relative;
  gap: 7px;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  color: #deccab;
}
.athens-login-only #user-login-form input {
  width: 100%;
  height: 47px;
  min-height: 47px;
  padding: 0 14px 0 46px;
  color-scheme: dark;
  background: linear-gradient(110deg, #171817, #111211);
  color: #f9edcc;
  border: 1px solid #8a754c;
  border-radius: 7px;
  box-shadow: inset 0 1px 2px #fff1;
  font-size: 16px;
  font-weight: 400;
}
.athens-login-only #user-login-form input:autofill {
  -webkit-text-fill-color: #f9edcc;
  box-shadow: inset 0 0 0 100px #171817;
}
.athens-login-only #user-login-form input:focus-visible { outline: 2px solid #e7bf6c; outline-offset: 3px; }
.athens-login-only #user-login-form label:has(input[name="username"])::after,
.athens-login-only #user-login-form label:has(input[name="password"])::after,
.athens-login-only #user-login-form .partner-login-challenge::after {
  content: '';
  position: absolute;
  width: 23px;
  height: 23px;
  bottom: 12px;
  left: 14px;
  background-color: #d8b873;
  mask: url('/images/login/icons/user.svg') center / contain no-repeat;
  pointer-events: none;
}
.athens-login-only #user-login-form label:has(input[name="password"])::after { mask-image: url('/images/login/icons/lock-closed.svg'); }
.athens-login-only #user-login-form .partner-login-challenge {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px 42px;
  grid-template-rows: 22px 47px;
  gap: 7px 10px;
}
.athens-login-only #user-login-form .partner-login-challenge::after { mask-image: url('/images/login/icons/shield-check.svg'); }
.athens-login-only #user-login-form .partner-login-challenge-heading { display: contents; }
.athens-login-only #user-login-form .partner-login-challenge:not(:has([data-login-challenge-refresh])) { grid-template-columns: minmax(0, 1fr) 92px; }
.athens-login-only #user-login-form .partner-login-challenge-heading > span {
  grid-column: 1 / -1;
  grid-row: 1;
  font-size: 16px;
  line-height: 22px;
  color: #deccab;
}
.athens-login-only #user-login-form .partner-login-challenge > input { grid-column: 1; grid-row: 2; }
.athens-login-only #user-login-form .partner-login-challenge-heading > strong {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #786748;
  border-radius: 6px;
  background: #201e17;
  color: #f0ddae;
  font-family: var(--font-family-base);
  font-variant-numeric: tabular-nums;
  font-size: 22px;
  letter-spacing: 2px;
}
.athens-login-only #user-login-form .partner-login-challenge-heading > [data-login-challenge-refresh] {
  grid-column: 3;
  grid-row: 2;
  position: relative;
  width: 42px;
  min-width: 42px;
  max-width: 42px;
  height: 47px;
  padding: 0;
  overflow: hidden;
  font-size: 0;
  border: 1px solid #786748;
  border-radius: 6px;
  background: #171715;
}
.athens-login-only #user-login-form .partner-login-challenge-heading > [data-login-challenge-refresh]::after {
  content: '';
  position: absolute;
  inset: 10px;
  background: #dabb78;
  mask: url('/images/login/icons/arrow-path.svg') center / contain no-repeat;
}
.athens-login-only #user-login-form > .athens-primary-action {
  height: 53px;
  min-height: 53px;
  margin-top: 5px;
  padding: 0 18px;
  border: 1px solid #f1cd7a;
  border-radius: 6px;
  background: linear-gradient(#f0ca74, #ba7d23);
  box-shadow: 0 7px 28px #dba74320, inset 0 1px 0 #fff4c999;
  color: #201507;
  font-size: 18px;
  font-weight: 800;
}
.athens-login-only #user-login-form > .athens-primary-action:disabled { opacity: .65; }
.athens-login-only #user-login-form > .partner01-form-message:empty { display: none; }
.partner-login-motion {
  position: fixed;
  z-index: 2;
  right: 18px;
  bottom: 14px;
  padding: 8px 12px;
  border: 1px solid #c8a56450;
  border-radius: 20px;
  background: #080705c9;
  color: #d9c598;
  font: 12px/18px var(--font-family-base);
  cursor: pointer;
}
.partner-login-motion:focus-visible { outline: 2px solid #f0ce87; outline-offset: 3px; }
@media (max-width: 600px) {
  .athens-login-only .athens-auth-layer { padding: 20px 18px 54px; }
  .athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) {
    min-height: 0;
    transform: none;
    max-height: calc(100dvh - 74px);
    padding: 28px 24px;
  }
  .athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) > img { width: 176px; height: 92px; margin: 0 auto 14px; }
  .athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) h2 { font-size: 30px; margin-bottom: 20px; }
  .athens-login-only #user-login-form .partner-login-challenge { grid-template-columns: minmax(0, 1fr) 74px 42px; gap: 7px 8px; }
}
@media (max-width: 600px) and (max-height: 700px) {
  .athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) { padding: 18px 20px; }
  .athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) > img { width: 140px; height: 72px; margin: 0 auto 8px; }
  .athens-login-only .athens-auth-dialog:not(.athens-auth-dialog-register) h2 { font-size: 28px; line-height: 36px; margin-bottom: 0; }
  .athens-login-only .partner-login-ornament { height: 8px; margin-bottom: 6px; }
  .athens-login-only #user-login-form { gap: 12px; }
  .athens-login-only #user-login-form label { font-size: 14px; line-height: 20px; }
  .athens-login-only #user-login-form input { height: 44px; min-height: 44px; }
  .athens-login-only #user-login-form .partner-login-challenge { grid-template-rows: 20px 44px; }
  .athens-login-only #user-login-form .partner-login-challenge-heading > [data-login-challenge-refresh] { height: 44px; }
  .athens-login-only #user-login-form > .athens-primary-action { height: 48px; min-height: 48px; margin-top: 0; }
}
