/* Sign-in page for the public front door (Netz Design Kit): periwinkle ground, one white section, near-black
   Manrope, 32px capsule actions (40px on touch), light only. */
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { font-family: var(--netz-font); word-spacing: .06em; color: var(--netz-ink); background: var(--netz-ground, var(--netz-ground-fallback, #e9eefc)); -webkit-font-smoothing: antialiased; }
.fd-ground { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 24px 16px calc(24px + env(safe-area-inset-bottom)); }
.fd-card { width: 100%; max-width: 400px; min-width: 0; padding: 28px 28px 32px; background: var(--netz-surface, #fff); border: 1px solid var(--netz-line-strong); border-radius: var(--netz-radius-card, 20px); box-shadow: var(--netz-shadow-surface); }
.fd-brand { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; font-size: 16px; font-weight: 700; }
.fd-brand img { display: block; }
h1 { margin: 0 0 4px; font-size: 24px; line-height: 32px; font-weight: 600; }
.fd-summary { margin: 0 0 24px; font-size: 14px; line-height: 20px; color: var(--netz-ink-secondary); }
.fd-google { min-height: 44px; display: flex; align-items: center; }
.fd-msg { margin: 16px 0 0; font-size: 14px; line-height: 20px; color: var(--netz-ink-secondary); }
.fd-msg[data-tone="critical"] { color: var(--netz-critical, #bd2949); }
.fd-retry { margin-top: 12px; height: 32px; padding: 0 12px; border-radius: var(--netz-radius-capsule, 999px); border: 1px solid var(--netz-control-edge, rgba(31,43,71,.16)); background: var(--netz-surface, #fff); color: var(--netz-ink); font: 500 14px/20px var(--netz-font); cursor: pointer; }
.fd-retry:focus-visible { outline: none; box-shadow: var(--netz-focus-ring); }
@media (pointer: coarse) { .fd-retry { height: 40px; } }
@media (max-width: 420px) { .fd-card { padding: 24px 20px 28px; } }
