.login-page{min-height:100vh;font-family:var(--sans);text-align:start;background:#f7f7f8;padding:60px 24px}.login-page-inner{max-width:440px;margin-inline:auto}.login-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.login-page-header h1{margin:0 0 8px;font-size:36px}.login-page-header p{color:#666;margin:0}.login-form{background:#fff;border:1px solid #ddd;border-radius:14px;gap:16px;padding:24px;display:grid;box-shadow:0 8px 24px #0000000f}.login-field{gap:6px;display:grid}.login-field label{color:var(--text-h);font-size:14px;font-weight:600}.login-field input{width:100%;color:var(--text-h);font:inherit;background:#fff;border:1px solid #d4d4d8;border-radius:8px;padding:10px 12px}.login-password{align-items:center;gap:8px;display:flex}.login-password input{flex:1;min-width:0}.login-password-toggle{color:#334155;cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.login-password-toggle:focus-visible,.login-field input:focus-visible{outline-offset:2px;outline:2px solid #111}.login-field-error,.login-form-error{color:#b91c1c;margin:0;font-size:13px}.login-submit{color:#fff;cursor:pointer;background:#111;border:0;border-radius:8px;padding:10px 16px;font-weight:600}.login-submit:disabled{opacity:.7;cursor:wait}.login-home-link{margin-top:20px}.login-home-link a{color:#444;font-weight:600;text-decoration:none}.auth-loading{min-height:40vh;font-family:var(--sans);place-items:center;padding:40px 16px;display:grid}.login-card{background:#fff;border:1px solid #ddd;border-radius:14px;gap:16px;padding:24px;display:grid;box-shadow:0 8px 24px #0000000f}.login-actions{flex-wrap:wrap;gap:12px;display:flex}a.login-submit{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.login-secondary{color:#111;cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:8px;padding:10px 16px;font-weight:600}.support-banner{color:#111827;background:#f59e0b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-weight:600;display:flex}.support-banner p{margin:0}.support-banner button{color:#fff;cursor:pointer;background:#111;border:0;border-radius:8px;padding:6px 12px;font-weight:600}
