/* Download page — page-specific styles. Tokens & components come from /assets/design.css. */

.auth-view {
  min-height: 100dvh; display: flex; align-items: center; justify-content: center;
  padding: 24px;
  background:
    radial-gradient(1200px 600px at 80% -10%, var(--accent-soft), transparent 60%),
    var(--bg);
}
.auth-panel {
  width: 100%; max-width: 440px; background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg); padding: 32px 28px;
  display: flex; flex-direction: column; gap: 18px;
}
.auth-brand { display: flex; align-items: center; gap: 12px; }
.auth-brand h1 { font-size: 22px; }
.auth-logo { display: inline-flex; width: 40px; height: 40px; border-radius: 10px;
  background: var(--accent); color: var(--accent-contrast); align-items: center; justify-content: center; flex: none; }
.auth-logo .icon { width: 22px; height: 22px; }
.auth-form { display: flex; flex-direction: column; gap: 14px; }
.auth-links { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; text-align: center; }

/* Three-step explainer */
.steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.steps li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--text-2); }
.steps li strong { color: var(--text); }
.step-icon {
  display: inline-flex; width: 32px; height: 32px; border-radius: 8px; flex: none;
  background: var(--accent-soft); color: var(--accent-strong);
  align-items: center; justify-content: center;
}
.step-icon .icon { width: 16px; height: 16px; }

/* Download-password note */
.download-note {
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--surface-2); border: 1px solid var(--border);
  border-radius: var(--radius-sm); padding: 11px 13px;
}
.download-note .icon { width: 16px; height: 16px; color: var(--text-2); margin-top: 2px; }
.download-note p { color: var(--text-2); }

.success-hint { color: var(--success); display: flex; align-items: center; gap: 6px; }
.success-hint .icon { width: 14px; height: 14px; }
.requirements { text-align: center; }

@media (max-width: 400px) {
  .auth-panel { padding: 24px 18px; }
}
