.amk-auth-menu-item > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0.4rem 0.85rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.amk-requires-js {
  display: none !important;
}

.amk-auth-page .amk-auth-grid {
  display: none;
}

html.amk-js .amk-auth-page .amk-auth-grid {
  display: grid;
}

html.amk-js .amk-requires-js.amk-auth-menu-item,
html.amk-js .amk-auth-menu-item.amk-requires-js {
  display: flex !important;
  align-items: center;
}

html.amk-js a.amk-requires-js,
html.amk-js .amk-button.amk-requires-js,
html.amk-js .amk-manage-btn.amk-requires-js,
html.amk-js .gf-auth-button.amk-requires-js {
  display: inline-flex !important;
}

.amk-auth-noscript {
  margin: 1rem 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 208, 0, 0.28);
  border-radius: 8px;
  background: rgba(255, 208, 0, 0.08);
  color: inherit;
}

.amk-auth-noscript p {
  margin: 0;
}

.amk-auth-noscript p + p {
  margin-top: 0.45rem;
}

.amk-auth-menu-item > a:hover,
.amk-auth-menu-item > a:focus-visible {
  border-color: rgba(255, 208, 0, 0.72);
  background: rgba(255, 208, 0, 0.12);
  color: #ffd000;
  outline: none;
}

.amk-auth-status > span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.35rem 0.6rem;
  opacity: 0.9;
  font-size: 0.9em;
  white-space: nowrap;
}

.amk-login-strip {
  margin: 8px auto 4px;
  width: min(100% - 2rem, var(--theme-container-width, 1100px));
  max-width: var(--theme-container-width, 1100px);
  padding: 0;
  box-sizing: border-box;
}

.amk-login-strip-inner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 6px 10px;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.12);
}

.amk-auth-page {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 4px 0 18px;
}

.amk-auth-notice {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(242, 183, 5, 0.35);
  border-radius: 8px;
  background: rgba(242, 183, 5, 0.08);
}

.amk-auth-notice p {
  margin: 0;
}

.amk-auth-notice p + p {
  margin-top: 8px;
}

.amk-auth-notice-message {
  color: #f8fafc;
}

.amk-auth-notice-hint {
  color: #dbe7f5;
  font-size: 0.95rem;
  line-height: 1.5;
}

.amk-auth-notice-hint a {
  color: #f2b705;
  text-decoration: underline;
}

.amk-auth-notice.is-success {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.1);
}

.amk-auth-notice.is-info {
  border-color: rgba(96, 165, 250, 0.35);
  background: rgba(96, 165, 250, 0.1);
}

.amk-auth-notice.is-warning {
  border-color: rgba(242, 183, 5, 0.35);
  background: rgba(242, 183, 5, 0.08);
}

.amk-auth-notice.is-error {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.1);
}

.amk-auth-flow-steps {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.amk-auth-flow-steps li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #dbe7f5;
  font-size: 0.92rem;
  line-height: 1.45;
}

.amk-auth-flow-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  background: rgba(242, 183, 5, 0.18);
  color: #f2b705;
  font-size: 0.78rem;
  font-weight: 700;
  flex: 0 0 auto;
}

.amk-auth-resend-block {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.amk-auth-login-tips {
  margin: 0 0 14px;
  padding: 0 0 0 18px;
  color: #dbe7f5;
  font-size: 0.92rem;
  line-height: 1.5;
}

.amk-auth-login-tips li + li {
  margin-top: 6px;
}

.amk-auth-hero {
  margin: 0 0 22px;
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background:
    radial-gradient(circle at top right, rgba(242, 183, 5, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.9fr);
  gap: 18px;
  align-items: end;
}

.amk-auth-kicker,
.amk-auth-panel-kicker {
  margin: 0 0 8px;
  color: #f2b705;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  font-weight: 700;
}

.amk-auth-hero h1 {
  margin: 0 0 8px;
}

.amk-auth-lead {
  max-width: 60ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1rem;
  line-height: 1.6;
}

.amk-auth-hero-meta {
  display: grid;
  gap: 10px;
}

.amk-auth-stat {
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.16);
}

.amk-auth-stat strong,
.amk-auth-stat span {
  display: block;
}

.amk-auth-stat strong {
  margin-bottom: 4px;
  font-size: 1rem;
}

.amk-auth-stat span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
  line-height: 1.45;
}

.amk-auth-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 22px;
  align-items: start;
}

.amk-auth-view-register .amk-auth-grid,
.amk-auth-view-forgot .amk-auth-grid,
.amk-auth-view-reset .amk-auth-grid {
  grid-template-columns: minmax(0, 720px);
  justify-content: start;
}

.amk-auth-view-register .amk-auth-panel-register,
.amk-auth-view-forgot .amk-auth-panel-forgot,
.amk-auth-view-reset .amk-auth-panel-reset {
  max-width: 720px;
}

.amk-auth-panel {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.amk-auth-panel-login {
  background:
    linear-gradient(180deg, rgba(242, 183, 5, 0.07), transparent 110px),
    rgba(255, 255, 255, 0.04);
  border-color: rgba(242, 183, 5, 0.22);
}

.amk-auth-panel-register {
  background: rgba(255, 255, 255, 0.025);
}

.amk-auth-panel-forgot,
.amk-auth-panel-reset {
  background: rgba(255, 255, 255, 0.03);
}

.amk-auth-panel h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.amk-auth-panel p {
  margin: 0 0 10px;
}

.amk-auth-panel input[type="text"],
.amk-auth-panel input[type="email"],
.amk-auth-panel input[type="password"] {
  width: 100% !important;
  margin-top: 8px !important;
  min-height: 48px !important;
  padding: 0.75rem 0.95rem !important;
  border-radius: 6px !important;
  border: 1px solid rgba(17, 24, 32, 0.12) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111820 !important;
  -webkit-text-fill-color: #111820 !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}

.amk-auth-password-field {
  position: relative;
  display: block;
}

.amk-auth-password-field input {
  padding-right: 4rem !important;
}

.amk-auth-password-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #4f5d6d;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  line-height: 1;
}

.amk-auth-password-toggle:hover,
.amk-auth-password-toggle:focus-visible {
  color: #111820;
  outline: none;
}

.amk-auth-password-toggle::before,
.amk-auth-password-toggle::after {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

.amk-auth-password-toggle::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f5d6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6-10-6-10-6Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.amk-auth-password-toggle.is-visible::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f5d6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4 20 20'/%3E%3C/svg%3E");
}

.amk-auth-password-toggle:hover::before,
.amk-auth-password-toggle:focus-visible::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111820' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6-10-6-10-6Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.amk-auth-password-toggle.is-visible:hover::after,
.amk-auth-password-toggle.is-visible:focus-visible::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111820' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4 20 20'/%3E%3C/svg%3E");
}

.amk-auth-panel input[type="text"]:focus,
.amk-auth-panel input[type="email"]:focus,
.amk-auth-panel input[type="password"]:focus {
  border-color: rgba(242, 183, 5, 0.9) !important;
  box-shadow: 0 0 0 1px rgba(242, 183, 5, 0.55) !important;
  outline: none !important;
}

.amk-auth-panel input::placeholder {
  color: #687482;
  opacity: 1;
}

.amk-auth-panel .login-username label,
.amk-auth-panel .login-password label {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.amk-auth-panel .login-remember {
  margin: 6px 0 0;
}

.amk-auth-panel .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

.amk-auth-panel .login-submit {
  margin-top: 10px;
}

.amk-auth-panel .login-submit .button {
  min-width: 160px;
}

.amk-auth-panel .button,
.amk-auth-panel .button-primary,
.amk-auth-panel .ct-button {
  min-height: 46px;
  padding: 0.72rem 1.05rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
}

.amk-auth-remember {
  margin: 10px 0 0;
}

.amk-auth-remember label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

.amk-auth-remember input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
}

.amk-auth-password-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 2px 0 10px;
  flex-wrap: wrap;
}

.amk-auth-generate-link {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 700;
  color: #ffd500;
  text-decoration: underline;
  cursor: pointer;
  line-height: 1.3;
}

.amk-auth-generate-link:hover,
.amk-auth-generate-link:focus-visible {
  color: #ffffff;
  outline: none;
}

.amk-auth-password-hint,
.amk-auth-password-meter {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.72);
}

.amk-auth-password-meter [data-strength="medium"] {
  color: #f2b705;
}

.amk-auth-password-meter [data-strength="strong"] {
  color: #7ddc7a;
}

.amk-auth-register-form .ct-button,
.amk-auth-reset-form .ct-button {
  text-decoration: none;
}

.amk-auth-links,
.amk-auth-help {
  font-size: 0.92rem;
  color: rgba(255, 255, 255, 0.78);
}

.amk-auth-sep {
  opacity: 0.55;
}

.amk-auth-links {
  margin-top: 8px;
}

.amk-auth-help {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.amk-auth-resend-form {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.amk-auth-resend-form input[type="email"] {
  margin-top: 0;
}

.amk-auth-resend-form .ct-button {
  white-space: nowrap;
}

.amk-auth-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .amk-auth-page {
    padding-top: 0;
  }

  .amk-auth-hero {
    padding: 18px;
    margin-bottom: 18px;
    grid-template-columns: 1fr;
  }

  .amk-auth-grid {
    grid-template-columns: 1fr;
  }

  .amk-auth-panel {
    padding: 18px;
  }

  .amk-auth-resend-form {
    grid-template-columns: 1fr;
  }

  .amk-auth-password-tools {
    align-items: stretch;
    gap: 8px;
  }

  .amk-auth-generate-link {
    display: inline-block;
  }

  .amk-auth-password-hint,
  .amk-auth-password-meter {
    display: block;
    width: 100%;
  }
}
