/* Globale Basis-Styles für alle statischen Seiten (Light DOM). */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-base);
  background: var(--color-bg);
  color: var(--color-text);
}

a {
  color: var(--color-primary);
}

h1, h2, h3 {
  line-height: 1.2;
  font-weight: var(--font-weight-bold);
}

.welcome-hero,
.auth-page {
  max-width: 480px;
  margin: var(--space-5) auto;
  padding: var(--space-4);
}

.button,
a.button {
  display: inline-block;
  padding: var(--space-3) var(--space-4);
  background: var(--color-primary);
  color: var(--color-on-primary);
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
}

.button:hover,
a.button:hover {
  background: var(--color-primary-hover);
}

/* Public login, independent of the dashboard shell. */
.login-page { background: var(--color-surface); min-height: 100vh; }
.auth-brand { display: block; text-align: center; padding: 48px 20px 0; font-weight: 800; font-size: 28px; text-decoration: none; letter-spacing: -1px; }
.auth-brand img { display:block; width:200px; max-width:100%; height:auto; margin:auto; }
.auth-page { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 32px; margin-top: 28px; }
.auth-page h1 { font-size: 28px; letter-spacing: -.7px; margin-top: 0; }
.auth-page > p { font-size: 13px; margin-top: 24px; }
@media (max-width: 520px) { .auth-page { margin: 24px 20px; padding: 24px; } .auth-brand { padding-top: 32px; } }
