#auth-screen {
  position: fixed; inset: 0;
  background: var(--bg);
  z-index: 100;
  display: flex; flex-direction: column;
  overflow-y: auto;
  transition: opacity .35s var(--ease), transform .35s var(--ease);
}
#auth-screen.hidden {
  opacity: 0; transform: scale(1.03);
  pointer-events: none;
}

.auth-hero {
  background: linear-gradient(160deg, var(--primary-dark) 0%, var(--primary) 60%, var(--primary-light) 100%);
  padding: calc(48px + var(--safe-top)) 28px 40px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.auth-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.auth-hero::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -40px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
}
.auth-logo-wrap {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 28px;
  position: relative; z-index: 1;
}
.auth-logo-icon {
  width: 52px; height: 52px;
  background: rgba(255,255,255,.2);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px;
}
.auth-logo-text { font-size: 26px; font-weight: 800; color: #fff; letter-spacing: -1px; }
.auth-logo-sub { font-size: 12px; color: rgba(255,255,255,.7); font-weight: 400; margin-top: -2px; }
.auth-tagline {
  font-size: 28px; font-weight: 800;
  color: #fff; line-height: 1.2;
  letter-spacing: -.5px;
  position: relative; z-index: 1;
  margin-bottom: 8px;
}
.auth-tagline span { color: rgba(255,255,255,.65); font-weight: 400; font-size: 20px; display: block; margin-top: 4px; }

.auth-body {
  flex: 1;
  padding: 28px 24px calc(24px + var(--safe-bottom));
}
.auth-form-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow);
  margin-bottom: 16px;
}
.auth-form-title {
  font-size: 17px; font-weight: 700;
  color: var(--text);
  margin-bottom: 18px;
}

.auth-divider {
  display: flex; align-items: center; gap: 12px;
  margin: 18px 0;
  color: var(--text-3); font-size: 13px; font-weight: 500;
}
.auth-divider::before, .auth-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--border);
}

.demo-hint {
  background: var(--primary-subtle);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--primary-dark);
}
[data-theme="dark"] .demo-hint { color: var(--primary-light); }
.demo-hint strong { font-weight: 700; }

.auth-footer {
  text-align: center;
  font-size: 12px;
  color: var(--text-3);
  margin-top: 12px;
}
