:root {
  color-scheme: dark;
}

body.auth-page {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 18% 18%, rgba(44, 183, 196, 0.18), transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(0, 164, 237, 0.2), transparent 40%),
    linear-gradient(140deg, #050a0f 0%, #0a192f 100%);
  color: #f6f7fb;
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --ds-color-border: var(--panel-border);
  --ds-color-border-strong: var(--panel-border-strong);
  --ds-panel-bg-primary: var(--panel-bg-primary);
  --ds-panel-border: var(--panel-border);
  --ds-panel-border-strong: var(--panel-border-strong);
  --ds-panel-shadow: var(--panel-shadow);
  --ds-panel-inset: var(--panel-inset);
  --ds-color-text: #ffffff;
  --ds-color-text-muted: #b7b7b7;
  --ds-color-text-faint: rgba(183, 183, 183, 0.7);
  --ds-color-accent: #32c5fd;
  --ds-color-danger: #ff6b6b;
  --ds-radius-sm: 10px;
  --ds-radius-md: 12px;
  --ds-radius-lg: 14px;
}

.auth-page .auth-overlay {
  position: relative;
  inset: auto;
  min-height: 100vh;
  background: transparent;
  backdrop-filter: none;
  padding: 60px 28px;
}

.auth-page .auth-card {
  width: min(620px, 100%);
  grid-template-columns: 1fr;
  background: var(--ds-panel-bg-primary);
  border: 1px solid var(--ds-panel-border);
  box-shadow:
    0 60px 120px rgba(0, 0, 0, 0.6),
    var(--ds-panel-shadow),
    var(--ds-panel-inset);
}

.auth-page .auth-logo {
  width: 180px;
}

.auth-page .auth-panel {
  padding: 44px 40px;
  background: transparent;
}

.auth-page .auth-brand-panel {
  margin-bottom: 70px;
}

.auth-page .auth-title {
  font-size: 24px;
  color: var(--ds-color-text);
}

.auth-page .auth-subtitle {
  font-size: 14px;
  color: var(--ds-color-text-muted);
}

.auth-page .auth-tab {
  font-size: 13px;
  background: rgba(12, 16, 22, 0.66);
  border-color: var(--panel-border);
  color: #d2d2d2;
  opacity: 0.6;
  transition:
    opacity 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.auth-page .auth-tab.is-active {
  background:
    linear-gradient(145deg, rgba(32, 49, 69, 0.96), rgba(14, 20, 28, 0.98));
  border-color: rgba(86, 193, 224, 0.28);
  color: #ffffff;
  opacity: 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 8px 24px rgba(0, 0, 0, 0.22);
}

.auth-page .auth-tab:not(.is-active):hover,
.auth-page .auth-tab:not(.is-active):focus-visible {
  opacity: 0.82;
  background: rgba(15, 20, 27, 0.82);
}

.auth-page .auth-field label {
  font-size: 13px;
  color: var(--ds-color-text-muted);
}

.auth-page .auth-field input {
  font-size: 15px;
  padding: 12px 14px;
  background: #0f1217;
  border: none;
  border-radius: var(--ds-radius-sm);
  color: var(--ds-color-text);
}

.auth-page .auth-field textarea {
  width: 100%;
  min-height: 112px;
  font: inherit;
  font-size: 15px;
  padding: 12px 14px;
  resize: vertical;
  background: #0f1217;
  border: none;
  border-radius: var(--ds-radius-sm);
  color: var(--ds-color-text);
}

.auth-page .auth-field input::placeholder {
  color: var(--ds-color-text-faint);
}

.auth-page .auth-field textarea::placeholder {
  color: var(--ds-color-text-faint);
}

.auth-page .auth-link,
.auth-page .auth-legal {
  font-size: 12px;
  color: var(--ds-color-text-muted);
}

.auth-page .auth-note {
  font-size: 12px;
  color: var(--ds-color-danger);
}

.auth-page .auth-note.is-success {
  color: #7bd9a1;
}

.auth-page .auth-remember {
  font-size: 13px;
  color: var(--ds-color-text-muted);
}

.auth-page .auth-provider-note {
  display: none;
}

.auth-page .auth-provider {
  background: rgba(10, 14, 20, 0.9);
  border: 1px solid var(--panel-border);
  color: #ffffff;
  padding: 12px 16px;
}

.auth-page .auth-provider:hover {
  background: rgba(14, 19, 26, 0.96);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}

.auth-page .auth-divider {
  color: var(--ds-color-text-muted);
}

.auth-page .auth-divider::before,
.auth-page .auth-divider::after {
  background: var(--panel-border);
}

.auth-page .project-button.primary {
  background: var(--ds-color-accent);
  color: #1b1b1b;
  border: none;
  border-radius: var(--ds-radius-sm);
  padding: 12px 18px;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(0, 200, 255, 0.25);
}

.auth-page .auth-submit {
  padding: 12px 18px;
  font-size: 13px;
  width: 100%;
  min-width: 190px;
  justify-content: center;
}

.auth-page .project-button.primary:hover {
  background: #27b4ea;
  box-shadow: 0 10px 24px rgba(50, 197, 253, 0.25);
}

.auth-page .project-button.primary:active {
  background: #1ea6da;
}

.auth-page .auth-provider-icon {
  background: #0f1217;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.auth-page .auth-toggle {
  background: var(--button-fill);
  border: none;
  color: var(--ds-color-text-muted);
  border-radius: 999px;
}

.auth-page .auth-trust {
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(183, 183, 183, 0.72);
  text-align: center;
}
