/* Login page — the gate. Same token roles as every other page: --paper/
   --paper-lift surfaces, --ink/--ink-soft text, --moss-lift/--rust-lift
   accents, .hatch shadow on the form card. No longer an inverted page. */

* {
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    background: var(--paper);
    color: var(--ink);
    max-width: 400px;
    margin: 80px auto;
    padding: 20px;
}

.login-form {
    background-color: var(--paper-lift);
    padding: 32px 28px;
    border-radius: var(--radius-lg);
}

.login-form h2 {
    font-family: var(--font-display);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 1.3em;
    color: var(--ink);
    margin-bottom: 20px;
    text-align: center;
}

.login-form input {
    width: 100%;
    padding: 10px 12px;
    margin: 10px 0;
    box-sizing: border-box;
    background: var(--paper);
    color: var(--ink);
    border: var(--border);
    border-radius: var(--radius);
    font-family: inherit;
    font-size: 15px;
}

.login-form input::placeholder {
    color: var(--ink-soft);
}

.login-form button {
    position: relative;
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    background-color: var(--moss-lift);
    color: var(--ink-deep);
    border: none;
    border-radius: var(--radius);
    font-weight: 700;
    cursor: pointer;
    font-size: 15px;
}

.login-form button:hover {
    background-color: var(--ink);
}

.error {
    color: var(--rust-lift);
    background: var(--paper);
    border: 2px solid var(--rust-lift);
    border-radius: var(--radius);
    padding: 10px 12px;
    margin-bottom: 14px;
    font-size: 0.9em;
}
