/* Minimal baseline styling. Polish later — focus is auth correctness. */
* { box-sizing: border-box; }
body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    margin: 0;
    color: #1a1a1a;
    background: #fafafa;
    line-height: 1.5;
}
header, main, footer { max-width: 480px; margin: 0 auto; padding: 1rem 1.5rem; }
header { padding-top: 3rem; padding-bottom: 0; }
header h1 { margin: 0; font-size: 1.5rem; font-weight: 600; }
main { padding-top: 1.5rem; }
footer { padding-top: 3rem; color: #6a6a6a; }
form { display: flex; flex-direction: column; gap: 1rem; }
label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.9rem; color: #4a4a4a; }
input[type="email"], input[type="password"], input[type="text"] {
    padding: 0.6rem 0.75rem;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    font-size: 1rem;
    background: #fff;
}
input:focus { outline: 2px solid #2c5cdd; outline-offset: 1px; }
button[type="submit"] {
    padding: 0.7rem 1rem;
    background: #2c5cdd;
    color: #fff;
    border: 0;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
}
button[type="submit"]:hover { background: #1e4ac3; }
.error { background: #fff1f1; border: 1px solid #f3c2c2; color: #a02020; padding: 0.6rem 0.75rem; border-radius: 4px; }
.info { background: #eef4ff; border: 1px solid #c2d8f3; color: #1c3a7a; padding: 0.6rem 0.75rem; border-radius: 4px; }
.muted { color: #6a6a6a; font-size: 0.9rem; }
a { color: #2c5cdd; }
