.ff-auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--ff-canvas)}
.ff-auth-shell{width:min(440px,100%);display:flex;flex-direction:column;align-items:center}
.ff-login-logo{display:block;width:min(350px,82vw);height:auto;margin:0 auto 20px}.ff-login-logo.compact{width:min(280px,70vw)}
.ff-auth-card{width:100%;background:var(--ff-card);border:1px solid var(--ff-line);border-radius:var(--ff-card-radius);box-shadow:var(--ff-shadow);padding:28px}
.ff-auth-card h1{margin:0;font-size:34px;line-height:1.08}.ff-auth-card>p{margin:8px 0 22px;color:var(--ff-text-dim);font-size:13.5px}
.ff-auth-card form p{margin:0 0 16px}.ff-auth-card form label,.ff-field label{display:block;font-size:12.5px;font-weight:500;color:var(--ff-ink);margin-bottom:6px}
.ff-auth-card input,.ff-auth-card select{width:100%;height:42px;padding:0 14px;border-radius:8px;background:var(--ff-card-alt);border:1px solid var(--ff-line);font-size:13.5px;color:var(--ff-ink);outline:none}
.ff-auth-card input:focus{border-color:var(--ff-rust);box-shadow:0 0 0 3px rgba(194,76,19,.1)}
.ff-field{margin-bottom:16px}.ff-field-error,.ff-form-error{color:var(--ff-red);font-size:12px}.ff-form-error{background:var(--ff-red-tint);border:1px solid #ead4ce;border-radius:8px;padding:10px;margin-bottom:14px}.ff-form-error ul{margin:0;padding-left:18px}
.ff-auth-links{text-align:center;margin-top:16px}.ff-auth-links a{color:var(--ff-rust);font-size:12.5px;text-decoration:none;font-weight:600}
