:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1f2937; background: #fff; }
* { box-sizing: border-box; }
body { min-width: 320px; margin: 0; overflow-x: hidden; line-height: 1.5; }
a { color: #075985; }
.container { width: min(100% - 2rem, 1120px); margin: 0 auto; }
.site-header { border-bottom: 1px solid #e5e7eb; padding: 1rem 0; }
.brand { color: #0f766e; font-size: 1.15rem; font-weight: 700; text-decoration: none; }
.site-footer { margin-top: 4rem; padding: 1.5rem 0; border-top: 1px solid #e5e7eb; color: #6b7280; font-size: .875rem; }
.hero, .error-page { padding: 4rem 0; max-width: 46rem; }
.auth-panel { max-width: 32rem; padding: 2.5rem 0; }
.auth-panel form { display: grid; gap: 1rem; }
.auth-panel label { display: grid; gap: .35rem; font-weight: 600; }
.auth-panel input { width: 100%; min-height: 2.75rem; padding: .5rem .65rem; border: 1px solid #9ca3af; border-radius: .3rem; font: inherit; }
.auth-panel label:has(input[type="checkbox"]) { display: flex; align-items: center; font-weight: 400; }
.auth-panel input[type="checkbox"] { width: 1.1rem; min-height: 1.1rem; }
button { min-height: 2.75rem; border: 0; border-radius: .3rem; padding: .55rem .9rem; background: #0f766e; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hero h1, .error-page h1 { margin: .25rem 0 1rem; line-height: 1.2; }
.eyebrow { margin: 0; color: #0f766e; font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.skip-link { position: absolute; left: -9999px; top: .5rem; z-index: 10; background: #111827; color: #fff; padding: .5rem .75rem; }
.skip-link:focus { left: .5rem; }
:focus-visible { outline: 3px solid #0ea5e9; outline-offset: 3px; }
