.email-phase {
  margin-top: 15px;
  transition: all 0.3s ease;
}

.email-phase input[type="email"] {
  padding: 15px;
  font-size: 16px;
  background: #2d2d2d;
  border: 1px solid #444;
  border-radius: 6px;
  color: white;
  margin: 0;
  box-sizing: border-box;
  width: 100%;
  min-width: 300px;
}

.email-phase input[type="email"]:focus {
  outline: none;
  border-color: var(--glow-color);
  box-shadow: 0 0 5px rgba(187, 0, 255, 0.3);
}

.email-phase input[type="email"]::placeholder {
  color: #888;
}

#nextBtn {
  background: var(--glow-color);
  color: var(--color);
  border: none;
  padding: 15px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  margin: 10px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0px 0px 5px var(--glow-color), 0px 0px 10px var(--glow-color);
}

#nextBtn:hover:not(:disabled) {
  background: var(--color);
  color: var(--glow-color);
  box-shadow: 0px 0px 10px var(--color), 0px 0px 20px var(--glow-color),
    0px 0px 30px var(--glow-color);
}

#nextBtn:disabled {
  background: #2d2d2d;
  border: 1px solid #444;
  cursor: not-allowed;
  box-shadow: none;
}

.register-section {
  margin-top: 20px;
  text-align: center;
}

/* Auth Phase Styles */
.auth-phase {
  margin-top: 15px;
  transition: all 0.3s ease;
}

.email-display {
  position: relative;
  background: #2d2d2d;
  border: 1px solid #444;
  border-radius: 6px;
  margin: 10px 0;
  padding: 15px;
  padding-left: 36px;
  color: white;
  text-align: left;
  display: flex;
  align-items: center;
}

.back-button {
  position: absolute;
  left: 10px;
  color: #888;
  cursor: pointer;
  transition: color 0.3s ease;
}

.back-button:hover {
  color: var(--glow-color);
}

.back-button .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.email-value {
  margin-left: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: none;
}

.password-section {
  margin: 0;
}

.password-section input[type="password"] {
  padding: 15px;
  font-size: 16px;
  background: #2d2d2d;
  border: 1px solid #444;
  border-radius: 6px;
  color: white;
  margin: 0;
  box-sizing: border-box;
  width: 100%;
}

.password-section input[type="password"]:focus {
  outline: none;
  border-color: var(--glow-color);
  box-shadow: 0 0 5px rgba(187, 0, 255, 0.3);
}

.password-section input[type="password"]::placeholder {
  color: #888;
}

.password-section #login {
  background: var(--glow-color);
  color: var(--color);
  border: none;
  padding: 15px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  margin: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0px 0px 5px var(--glow-color), 0px 0px 10px var(--glow-color);
}

.password-section #login:hover:not(:disabled) {
  background: var(--color);
  color: var(--glow-color);
  box-shadow: 0px 0px 10px var(--color), 0px 0px 20px var(--glow-color),
    0px 0px 30px var(--glow-color);
}

.password-section #login:disabled {
  background: #2d2d2d;
  border: 1px solid #444;
  cursor: not-allowed;
  box-shadow: none;
}

/* Links styling */
.forgot-password-link,
.register-link {
  color: var(--glow-color);
  text-decoration: none;
  font-size: 14px;
  margin-top: 12px;
  display: block;
  text-align: center;
  width: 100%;
  text-shadow: none;
  cursor: pointer;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}

.forgot-password-link:hover,
.register-link:hover {
  color: #e9a0ff;
  text-shadow: 0 0 5px rgba(187, 0, 255, 0.3);
}

.register-link {
  margin-top: 8px;
}

.legal-text {
  font-size: 12px;
  color: #888;
  text-align: center;
  margin-top: 20px;
  text-shadow: none;
}

.legal-text a {
  color: #888;
}

.passkey-section {
  margin-top: 15px;
  margin-bottom: 15px;
}

.passkey-button {
  background: var(--glow-color);
  color: var(--color);
  border: none;
  padding: 15px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  margin: 10px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0px 0px 5px var(--glow-color), 0px 0px 10px var(--glow-color);
}

.passkey-button:hover:not(:disabled) {
  background: var(--color);
  color: var(--glow-color);
  box-shadow: 0px 0px 10px var(--color), 0px 0px 20px var(--glow-color),
    0px 0px 30px var(--glow-color);
}

.passkey-button:disabled {
  background: #2d2d2d;
  border: 1px solid #444;
  cursor: not-allowed;
  box-shadow: none;
}

.passkey-button .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

/* 2FA Verify Styles */
.twofa-container {
  max-width: 400px;
  margin: 0 auto;
}

.subtitle {
  color: #888;
  margin-bottom: 30px;
  font-size: 14px;
  text-shadow: none;
  text-align: center;
}

.auth-method {
  background: #1f1f1f;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 15px;
  margin: 15px 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.auth-method:hover {
  border-color: var(--glow-color);
  background: #2a2a2a;
}

.auth-method.selected {
  border-color: var(--glow-color);
  background: rgba(187, 0, 255, 0.1);
}

.auth-method-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.auth-method-header .material-symbols-rounded {
  color: var(--glow-color);
  font-size: 24px;
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.auth-method h3 {
  margin: 0;
  color: white;
  font-size: 16px;
  text-shadow: none;
}

.auth-method p {
  margin: 0;
  color: #888;
  font-size: 14px;
  text-shadow: none;
}

.auth-input-section {
  margin: 20px 0;
  margin-top: 0;
}

.auth-input-group {
  margin: 15px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
}

.auth-input-group input {
  width: 100%;
}

.auth-input-group.hidden {
  display: none;
}

.code-input {
  width: 100%;
  padding: 15px;
  font-size: 24px;
  text-align: center;
  letter-spacing: 4px;
  background: #2d2d2d;
  border: 1px solid #444;
  border-radius: 6px;
  color: white;
  margin: 15px 0;
}

#totp-code,
#backup-code {
  width: 100%;
  padding: 15px;
  font-size: 24px;
  text-align: center;
  letter-spacing: 4px;
  background: #2d2d2d;
  border: 1px solid #444;
  border-radius: 6px;
  color: white;
  margin: 15px 0;
}

.verify-button {
  background: var(--glow-color);
  color: var(--color);
  border: none;
  padding: 15px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0px 0px 5px var(--glow-color), 0px 0px 10px var(--glow-color);
}

.verify-button:hover:not(:disabled) {
  background: var(--color);
  color: var(--glow-color);
  box-shadow: 0px 0px 10px var(--color), 0px 0px 20px var(--glow-color),
    0px 0px 30px var(--glow-color);
}

.verify-button:disabled {
  background: #2d2d2d;
  border: 1px solid #444;
  cursor: not-allowed;
  box-shadow: none;
}

.verify-button .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.security-info {
  background: rgba(187, 0, 255, 0.1);
  border: 1px solid var(--glow-color);
  border-radius: 6px;
  padding: 15px;
  margin: 20px 0;
  font-size: 14px;
  text-align: left;
}

.security-info .material-symbols-rounded {
  color: var(--glow-color);
  vertical-align: middle;
  margin-right: 8px;
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.security-info strong {
  color: white;
  text-shadow: none;
}

.security-info span {
  text-shadow: none;
}

.back-link {
  color: #888;
  text-decoration: none;
  font-size: 14px;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-shadow: none;
}

.back-link:hover {
  color: var(--glow-color);
}

.back-link .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

/* Passkey Test Page Styles */
.passkey-container {
  max-width: 50%;
  margin: 0 auto;
  padding: 20px;
}

.feature-section {
  background: #1f1f1f;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
}

.client-info {
  text-align: center;
}

.client-badge {
  background: var(--glow-color);
  color: var(--color);
  font-size: 16px;
  padding: 8px 16px;
  border-radius: 12px;
  box-shadow: 0px 0px 5px var(--glow-color), 0px 0px 10px var(--glow-color);
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #2d2d2d;
  border: 1px solid #444;
  margin-top: 10px;
  border-radius: 4px;
}

.feature-item.supported {
  background: rgba(40, 167, 69, 0.2);
  border-color: #28a745;
}

.feature-item.not-supported {
  background: rgba(220, 53, 69, 0.2);
  border-color: #dc3545;
}

.feature-item span {
  text-shadow: none;
}

.badge {
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: bold;
  text-shadow: none;
  box-shadow: none;
}

.badge.supported {
  background-color: #28a745;
  color: white;
  box-shadow: 0px 0px 10px #28a745;
}

.badge.not-supported {
  background-color: #dc3545;
  color: white;
  box-shadow: 0px 0px 10px #dc3545;
}

.badge.unknown {
  background-color: #6c757d;
  color: white;
}

.accordion {
  margin-top: 20px;
}

.accordion-item {
  background: #2d2d2d;
  border: 1px solid #444;
  border-radius: 4px;
  margin-bottom: 10px;
}

.accordion-button {
  background: #2d2d2d;
  color: white;
  border: none;
  padding: 15px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.accordion-button:hover {
  background: #3d3d3d;
}

.accordion-button .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.accordion-collapse {
  display: none;
}

.accordion-collapse.show {
  display: block;
}

.accordion-body {
  padding: 15px;
  border-top: 1px solid #444;
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.test-button,
.nav-button {
  background: var(--glow-color);
  color: var(--color);
  border: none;
  padding: 12px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0px 0px 5px var(--glow-color), 0px 0px 10px var(--glow-color);
}

.test-button:hover:not(:disabled),
.nav-button:hover:not(:disabled) {
  background: var(--color);
  color: var(--glow-color);
  box-shadow: 0px 0px 10px var(--color), 0px 0px 20px var(--glow-color),
    0px 0px 30px var(--glow-color);
}

.test-button:disabled,
.nav-button:disabled {
  background: #2d2d2d;
  border: 1px solid #444;
  cursor: not-allowed;
  box-shadow: none;
}

.test-button .material-symbols-rounded,
.nav-button .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.test-status {
  margin-top: 15px;
  padding: 10px;
  border-radius: 4px;
}

.test-status.success {
  color: #55ff55;
  background: rgba(85, 255, 85, 0.1);
  border: 1px solid #55ff55;
}

.test-status.error {
  color: #ff5555;
  background: rgba(255, 85, 85, 0.1);
  border: 1px solid #ff5555;
}

.test-status.info {
  color: #4a90e2;
  background: rgba(74, 144, 226, 0.1);
  border: 1px solid #4a90e2;
}

.passkey-list {
  margin-top: 15px;
}

.passkey-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background: #2d2d2d;
  border-radius: 4px;
  margin: 5px 0;
  border: 1px solid #444;
}

.passkey-info strong {
  color: var(--glow-color);
  text-shadow: none;
}

.passkey-date {
  font-size: 12px;
  color: #888;
  text-shadow: none;
}

.delete-button {
  background: #ff4444;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.3s ease;
  box-shadow: 0px 0px 5px #ff4444;
}

.delete-button:hover {
  background: #ff0000;
  box-shadow: 0px 0px 10px #ff4444, 0px 0px 20px #ff4444;
}

.delete-button .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.alert {
  text-align: center;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
}

.alert-danger {
  background: rgba(220, 53, 69, 0.1);
  border: 1px solid #dc3545;
  color: #dc3545;
}

.alert h1,
.alert h2 {
  margin: 10px 0;
  text-shadow: none;
}

.alert .material-symbols-rounded {
  text-shadow: none;
  filter: none;
  box-shadow: none;
}

.hidden {
  display: none !important;
}

/* Status Messages */
.error-message {
  background: rgba(220, 53, 69, 0.1);
  border: 1px solid #dc3545;
  color: #dc3545;
  padding: 10px;
  border-radius: 4px;
  margin: 10px 0;
  text-shadow: none;
}

.success-message {
  background: rgba(40, 167, 69, 0.1);
  border: 1px solid #28a745;
  color: #28a745;
  padding: 10px;
  border-radius: 4px;
  margin: 10px 0;
  text-shadow: none;
}

.material-symbols-rounded {
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Remove text shadows from grey/colored text */
.subtitle,
.auth-method p,
.passkey-description,
.security-info,
.back-link,
.signin-different-link,
.forgot-password-link,
.passkey-date,
.error-message,
.success-message,
.alert h1,
.alert h2,
#modal-overlay small,
#modal-overlay p,
#modal-overlay li {
  text-shadow: none !important;
}

/* Specifically target grey text colors */
[style*="color: #888"],
[style*="color: #999"],
[style*="color: #777"],
.badge.not-supported,
.badge.unknown {
  text-shadow: none !important;
}

/* Fix icon alignment globally for 2FA elements */
.material-symbols-rounded {
  vertical-align: middle !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Specific icon alignment fixes for different contexts */
.auth-method-header .material-symbols-rounded {
  vertical-align: middle;
  margin-right: 8px;
  font-size: 20px;
  display: inline-flex;
  align-items: center;
}

.security-info .material-symbols-rounded {
  vertical-align: middle;
  margin-right: 8px;
  display: inline-flex;
  align-items: center;
}

.back-link .material-symbols-rounded {
  vertical-align: middle;
  margin-right: 4px;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
}

/* Button icon alignment */
button .material-symbols-rounded {
  vertical-align: middle;
  margin-right: 6px;
  display: inline-flex;
  align-items: center;
}

/* Header icon alignment */
h1 .material-symbols-rounded,
h2 .material-symbols-rounded,
h3 .material-symbols-rounded,
h4 .material-symbols-rounded {
  vertical-align: middle;
  margin-right: 8px;
  display: inline-flex;
  align-items: center;
}

/* Inline text icon alignment */
p .material-symbols-rounded,
span .material-symbols-rounded,
li .material-symbols-rounded,
small .material-symbols-rounded {
  vertical-align: middle;
  margin-right: 4px;
  display: inline-flex;
  align-items: center;
}

/* Override any conflicting global styles */
#modal-overlay .material-symbols-rounded {
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Fix alignment in 2FA setup content */
#2fa-setup-content .material-symbols-rounded,
#2fa-disable-content .material-symbols-rounded {
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Responsive Design */
@media (max-width: 768px) {
  .passkey-container {
    padding: 10px;
  }

  .button-group {
    flex-direction: column;
  }

  .test-button,
  .nav-button {
    width: 100%;
    justify-content: center;
  }

  .auth-method {
    padding: 15px;
  }

  .feature-item {
    padding: 10px;
    font-size: 14px;
  }

  .twofa-container {
    max-width: 100%;
    padding: 10px;
  }

  .verify-button {
    width: 100%;
    max-width: none;
  }

  #totp-code,
  #backup-code {
    max-width: none;
  }
}
