.login-panel {
    width: min(100% - 2rem, 28rem);
    margin: clamp(1.5rem, 6vh, 4rem) auto;
    padding: clamp(1.25rem, 4vw, 2rem);
    border: 1px solid var(--nec-line);
    border-radius: var(--nec-radius);
    background: var(--paper-bright);
}
.page-invite { --page-footer-clearance: 0px; }
.login-form .field-error { color: var(--terra-cotta); font-size: var(--nec-type-control); }
.login-panel h1 {
    margin: 0 0 0.5rem;
    font-size: var(--nec-type-title);
}
.login-intro {
    margin: 0 0 1.5rem;
    color: var(--nec-muted);
    line-height: 1.5;
}
.login-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.login-form .form-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.login-form .form-field label {
    font-weight: 700;
    font-family: var(--font-sans);
    font-size: var(--nec-type-control);
    color: var(--ink);
}



.error-box {
    border: 1.5px solid var(--line-strong);
    background: var(--gray-1);
    color: var(--ink);
    padding: 1rem;
    border-radius: var(--nec-radius);
    font-family: var(--font-sans);
}
.error-box p { margin: 0; }
.login-form .form-actions {
    display: flex;
    justify-content: stretch;
}
.login-form .login-btn {
    width: 100%;
}
